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 Chrysostomos