$_->salary( $_->salary() * 1.02 ); #### $_->salary *= 1.02 for @employees; #### for (@employees) { $_->salary *= 1.02; $_->frobnitz += 1.5; } #### my $do_operation; # Defined elsewhere, possibly from user input my $by_ammount; # Also from user my @employees; # Also defined elsewhere my $op = $do_operation eq 'add' ? '+' : $do_operation eq 'mult' ? '*' : # And so on ; my $effect = Effect->new( [ salary => $by_ammount, $op ] ); $_->apply_effect( $effect ) for @employees; #### my $do_operation; # Defined elsewhere, possibly from user input my $by_ammount; # Also from user my @employees; # Also defined elsewhere my $op = $do_operation eq 'add' ? sub {$_[0] += $_[1]} : $do_operation eq 'mult' ? '*' : sub {$_[0] *= $_[1]} # And so on ; &$op($_->salary) for @employees; #### my $do_operation; # Defined elsewhere, possibly from user input my $by_ammount; # Also from user my @employees; # Also defined elsewhere my $op = $do_operation eq 'add' ? '+' : $do_operation eq 'mult' ? '*' : # And so on ; eval "\$_->salary $op= \$by_amount" for @employees; #### $reactor->insert_cooling_rods; $reactor->shut_down_liquid_cooling;