c:\@Work\Perl\monks>perl -wMstrict -le "use Regexp::Common; ;; my @records = ( 'BCInletTemperature = 90[C]', 'BCInletTemperature = 33.56[C]', 'Whatever = -.012[C]', 'Wrong = 90 [C]', 'AlsoWrong = 9.0.1[C]', ); ;; for my $record (@records) { printf qq{'$record' -> }; my $got_temp = my ($temp) = $record =~ m{ = \s+ ($RE{num}{real}) \[ }xms; if ($got_temp) { print qq{temp '$temp'}; } else { print 'no got temp'; } } " 'BCInletTemperature = 90[C]' -> temp '90' 'BCInletTemperature = 33.56[C]' -> temp '33.56' 'Whatever = -.012[C]' -> temp '-.012' 'Wrong = 90 [C]' -> no got temp 'AlsoWrong = 9.0.1[C]' -> no got temp