Perl Security: 5. When using functions, remember... Why do we have to bother with @_ ? Most languages behave differently when declaring functions In C: int myfunc (int var1, char* var2); In Python: def myfunc (var1, var2); In PHP: function myfunc ($var1, $var2) { (...) } and so on. Why in Perl we have to fiddle around with @_, $_[x], shift, etc? Think back on the early Perl versions... No namespaces No lexical variables @_ means no namespace exhaustion @_ is (was?) an ellegant solution