#!perl use warnings; use strict; my %arith; $arith{"+"} = sub { $_[0] + $_[1] }; $arith{"-"} = sub { $_[0] - $_[1] }; $arith{"*"} = sub { $_[0] * $_[1] }; $arith{"/"} = sub { $_[0] / $_[1] }; my $Problem = "6 * 8"; $Problem =~ /^(\d*)\s(.)\s(\d*)$/; my $Number1 = $1; my $Number2 = $3; my $Operator = $2; my $Op = $arith{$2} or die qq[wrong operator: "$Operator"]; my $Answer; $Answer = &$Op($Number1, $Number2); print $Answer, "\n"; __END__