I am sorry. I was talking about why _perl_ programer (I am the one) should prefer lambdish syntax over classic one. The way perl functions defined below is pretty standard today:
sub something {
my ($a, $b) = @_;
do_something_with($a, $b);
}
Parameters in perl functions passed in @_ array. This is also default variable for many internal function, like shift(), which returns first value from array, and shift it to the left by one element. So your function might be defined like this:
sub something {
my $a = shift();
my $b = shift();
$a + $b;
}
or:
print sub { shift() + shift() }->(1,2);
If function do not use return(), last statement result used as return value of the function.
So perl already have everything you need to do lambda-style programing. And I was wondering why new syntax for something already existing. Or I could be wrong if this did not exists before and I am missing something.