The plot thickens: $ perl -e 'sub v123{a} require v123()' syntax error at -e line 1, near "require v123(" Execution of -e aborted due to compilation errors. $ perl -e 'sub v123{a} require +v123()' Warning: Use of "require" without parentheses is ambiguous at -e line 1. Can't locate a in @INC (...) at -e line 1. $ perl -e 'sub v123{a} require v123.""' Warning: Use of "require" without parentheses is ambiguous at -e line 1. Can't locate v123 in @INC (...) at -e line 1. $ perl -e 'sub v123{a} require v123 .""' Warning: Use of "require" without parentheses is ambiguous at -e line 1. Can't locate { in @INC (...) at -e line 1. $ perl -e 'sub v123{a} require v123' Perl v123.0.0 required--this is only v5.10.1, stopped at -e line 1. $ perl -e 'sub v123{a} require +v123' Warning: Use of "require" without parentheses is ambiguous at -e line 1. Can't locate a in @INC (...) at -e line 1. That whitespace is significant is troubling. That v123 could be interpreted as a bareword with no => following it is more troubling. It is not at all clear how these things are supposed to behave. -- Father ChrysostomosThread Next