#!/usr/bin/perl
$_=qq~
1234
34 -4567
3456
-0.35e-0,2
56grf45
-.034 E20
-.034 e2,01 -,045 e-,23
-,034 e201 3e-.20
-,045 e-,23 e-0.88
4 E-0.20
22
E-21
-0.2 w 4 3
345
2 ^-,3
~;
$a='[+-]?\d*[,.]?\d+';print"$_\n"for/$a\s?[e^]$a|$a|[+-]?e$a/ig
Соответственно идея в том, чтобы сократить число символов
в строчке, заменяя их на содержимое переменной $a. цикл
for идет пока
выполняется регулярное выражение(т.к. оно возвращает список значений
$_ в силу
наличия квантификатора g), читающее переменную $_.