Perl 6 is about to be released. If you skipped Python and ruby, and you need the huge CPAN archive, perl 6 might be just the tiket, and with types and named parameters, it may be a serious alternative for large projects!:
Perl 6 calling conventions are extremely well designed. Not only do they allow compile-time parameter checking, they also allow named parameters with or without complex defaults, even including curried default functions. This is going to be very powerful.
http://www.perl.com/...-passing.html?page=2