use strict;
my $str = 'cos(3 * 3) + cos(3 * 24.5 ), cos(2 * 3 ) + cos(3 * .2.4)
cos(3 * 3.4) + cos(3 * 45 ), cos(4 * .24) + cos(3 * 245 )
(3 *(2 + 1 + 1) - 23/5 )
3 * (1571 - sin(12))';
my $regex = qr/(?<number>(?<!\.)\d+(?:\.\d+)?|(?<![\d.])(?:\.\d+)(?!\.))(?<termination>\s*[-+)])/p;
my $subst = '$1deg$2';
my $result = $str =~ s/$regex/$subst/rg;
print "The result of the substitution is' $result\n";
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html