Andrew savige wrote in perl.qa : > Running variants of: > > tar tzf perl-5.8.0.tar.gz | perl -lne'print if tr|-_./a-zA-Z0-9||c' > > suggests only [-_./a-zA-Z0-9] are valid characters in a path name. > > Then I noticed 'perldoc perlport' lists the portable filename > characters as defined by ANSI C and various other restrictions. > What is the length limit of each path name component? > What is the length limit of file extensions? I heard YAML changed > from .yaml to .yml, for instance, yet Perl itself has many files > with long extensions -- runtime.porting, for example.
Also, don't ever include files that differ only by case. In the perl source distribution, Porting/check83.pl checks that filenames are friendly to 8.3 filesystems. What you want is probably more complex : a test to see if a *set* of filenames is portable. > It'd be nice to have a standard test for valid "portable" path names. > Does such a test exist? I noticed Archive::Any has is_impolite() and > is_naughty() but didn't see any checks for basic path name validity. > BTW, is Archive::Any a "dead camel"?