c:\@Work\Perl\monks>perl -wMstrict -le "for my $s ('G1 Z0.050 F7800.000', 'G10 ; retract',) { printf qq{'$s' -> }; local $_ = $s; s/(G1 Z)(\d{1,2}\.\d{3})/$1-$2/; print qq{'$_'}; } " 'G1 Z0.050 F7800.000' -> 'G1 Z-0.050 F7800.000' 'G10 ; retract' -> 'G10 ; retract'