(I wanted to put this discussion into a separate post, think it will stir much controversy)

> argument signatures are lengthy in Perl

With the same technique like demonstrated in yield() one could simulate a syntac sugar function sig(), which would assign arguments from the upper caller sig( my($a,$b) ). sig could easily handle a lot more like:

setting default values,

check of obligatory parameters,

handling named parameters,

checking types

automatic creation of API documentation.

allowing docstrings

But the need to declare each variable to be lexical is cumbersome, who really wants to constantly repeat my ?