globbing modules' mutual inconsistencies #1500
Comments
From tchrist@chthon.perl.comFile::DosGlob uses 'GLOBAL_glob' (not a real function) for the same Perl should figure out a regular convention for this kind of thing. use File::DosGlob ':EVERYWHERE'; Normally, I'd say ":GLOBALLY", but that looks too confusing with I've already reported the oddness that File::Glob's ":globally" You know, that read better this way: use File::Glob qw/csh_glob :EVERYWHERE/; But violates the "put the colon tags first" notion. Legibility in Another idea is from there's CGI.pm's -foo style: use File::Glob qw/-everywhere csh_glob/; Or, since we're rolling our own imports, even something like use File::Glob qw/ glob=csh_glob :UBIQUITOUSLY /; Or shorter: use File::Glob qw/:UBI glob=csh_glob /; Or use File::Glob qw/:UBI=package glob=csh_glob /; Or use File::Glob qw/:WHERE=PACKAGE glob=csh_glob /; --tom |
From [Unknown Contact. See original ticket]Tom Christiansen writes:
If you make it an adjective, it works: use File::Glob ':UNIVERSAL'; This risks confusion with UNIVERSAL::, but the concept is pretty Nat |
From [Unknown Contact. See original ticket]
I tend to think of it as wanting to modify "use" as an adverb of location # (we'll skip the ":GLOBALLY" and ":UBIQUITOUSLY" this time around) use File::Glob qw(:UNIVERSALLY &csh_glob); whereas if you put the modifer at the end of the list, it use File::Glob qw(&glob :UNIVERSALLY); Even though this isn't really like CLI programs that expect their execute -quickly someproggy I think the problem is that the package is the genitive for the use File::Glob '&csh_glob'; really reads Please use the File::Glob module's csh_glob function. or Please use File::Glob's &csh_glob. And English isn't happy interposing a non-immediate modifier between use File::Glob qw/CORE glob/; That might work. --tom |
Migrated from rt.perl.org#2713 (status was 'open')
Searchable as RT2713$
The text was updated successfully, but these errors were encountered: