$ perl -E ' my @nums = qw{-1 0 1 9 10 11 19 20 21 23 49 50 51 55}; for my $in (@nums) { my $out; if ($in < 10) { $out = $in; } elsif (10 <= $in < 20) { $out = $in - 2; } elsif (20 <= $in < 50) { $out = $in - 3; } else { $out = $in - 4; } printf "IN: %2d OUT: %2d\n", $in, $out; } ' IN: -1 OUT: -1 IN: 0 OUT: 0 IN: 1 OUT: 1 IN: 9 OUT: 9 IN: 10 OUT: 8 IN: 11 OUT: 9 IN: 19 OUT: 17 IN: 20 OUT: 17 IN: 21 OUT: 18 IN: 23 OUT: 20 IN: 49 OUT: 46 IN: 50 OUT: 46 IN: 51 OUT: 47 IN: 55 OUT: 51