Hi all, I've just hit a weird edge case in some code I'm writing that requires a lot of meta programming. In this case, I have two separate modules which require this: sub _internal_func ( $class, $params ) { ... } But the second class requires this: sub _internal_func ($class) { ... } So those signatures aren't quite compatible. For the second module, my workaround is this: sub _internal_func ( $class, $params = undef ) { ... } But I'm not using $params at all for the second module, meaning I need to declare. scalar I'm not using. I now need to document in the code why this has happened. I'd like to write this: sub _internal_func ( $class, undef ) { ... } But that turns out to be a syntax error, even though it's a common idiom: my ( $package, undef, $caller ) = caller; Since the argument list in subroutine names is effectively the same as a my declaration, can we unify them to have the same syntax and thus be less surprising? Best, Ovid -- CTO, All Around the World World-class software development and consulting https://allaroundtheworld.fr/Thread Next