my %OPERATIONS = ( '*' => sub { $_[0] * $_[1] }, '-' => sub { $_[0] - $_[1] }, '+' => sub { $_[0] + $_[1] }, ); # $operator, $first, and $second defined # elsewhere, from user input print "Result: ", $OPERATIONS{$operator}->($first, $second), "\n" if exists $OPERATIONS{$operator};