in reply to convert last digit in decimal

This is a bit over-generalized, but allows for easy extension.

>perl -wMstrict -le "use Regexp::Common qw(number); ;; my %conversion = ( K => 1_000, M => 1_000_000, B => 1_000_000_000, L => 100_000, LAKH => 100_000, ); my $suffix = qr{ (?i) @{[ join q{|}, reverse sort keys %conversion ]} }xms; ;; for my $n (qw(28.04B 376.92M 12.3K 98.76Lakh 7l 23.45k), @ARGV) { my ($base, $mult) = $n =~ m{ \A ($RE{num}{real}) ($suffix) \z }xmsg; print qq{'$n' => }, $base * $conversion{uc $mult}; } ;; my $s = 'w 28.04b x 376.92M y 98.76L z'; $s =~ s{ ($RE{num}{real}) ($suffix) } { $1 * $conversion{uc $2} }xmsge; print qq{'$s'}; " '28.04B' => 28040000000 '376.92M' => 376920000 '12.3K' => 12300 '98.76Lakh' => 9876000 '7l' => 700000 '23.45k' => 23450 'w 28040000000 x 376920000 y 9876000 z'

Update: Added multiple conversions in a string to example.