It was accepted as package name, but as a module it would hit a wall, ° since :: are translated to path delimiter /
DB<83> use a::::b Can't locate a//b.pm in @INC
I'm not sure if there are any file-systems with semantics for an unnamed directory between two '/', win at least gives me a hard time trying to create a directory with an empty string as name.
But I'm wondering if this might have some relevance as vulnerability, since I remember seeing sequences of // as special syntax for network resources.
°) It's possible on win at least, because it translates multiple / to no-ops, hence a//b is the same like a/b
so I created
C:\tmp\x\y>echo warn 'inside';1 >z.pm
started the debugger and ran
DB<5> use lib '.' DB<6> use x::::y::::z inside at x//y///z.pm line 1.
It also reveals a trick to force a recompile of a module by adding more :: to the path.
Like that Perl won't find it cached in %INC and try to require it again.
DB<7> use x::::y::::z DB<8> use x::::y::::::z inside at x//y///z.pm line 1. at x//y///z.pm line 1.
DISCLAIMER: Too lazy to test this with linux (shame on me) and the rest of perlport... (no amiga handy...)
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
In reply to Re^2: Is there an official regex for checking module names? (updated)
by LanX
in thread Is there an official regex for checking module names?
by kcott
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |