my %arith = map { $_ => eval sprintf 'sub { $_[0] %s $_[1] }', $_ } qw[ + - * / ];