sub scalarmap ($&@) { local ($a, $b) = ( shift ); my $code = shift; foreach $b (@_) { $a = &$code; } return $a; } my @array = 1..10; my $sum = scalarmap 0, { $a + $b } @array; #### Array found where operator expected at scalarmap2.pl line 32, near "} " (Missing operator before ?) syntax error at scalarmap2.pl line 32, near "} @array"