my %mul = ( M => 1e6, B => 1e9, ); if ($num =~ s/([^0-9.]+)\z//) { my $suf = $1; die if !$mul{$suf}; $num *= $mul{$suf}; }