sub make_bin_ops { my $op = shift; return eval "sub { \$_[0] $op \$_[1] }"; } my $div = make_bin_ops("/"); my $mult = make_bin_ops("*"); print $div->(2,2),"\n"; print $mult->(2,2),"\n";