my %MULTIPLIERS = ( k => 1024, kb => 1024, g => 1024 * 1024 * 1024, gb => 1024 * 1024 * 1024, ); my $num = '30k'; # or 24g or 29kb, whatever $num =~ s/\A (\d+) ([A-Za-z]{0,2}) \z)/$1/x; my $key = lc $2; $mult = exists $MULTIPLIER{$key} ? $MULTIPLIER{$key} : 1; $num *= $mult;