Juerd <[EMAIL PROTECTED]> writes: > Jonadab the Unsightly One skribis 2004-09-17 10:46 (-0400): >> * They are of critical importance on Apache-based webservers. > > They are not. See mod_mime_magic.
Magic, as far as I know, only works for filetypes that have known byte sequences. >> * They instruct command-line tab completion for some shells. > > And this is not something to write home about. I consider it enough of a killer feature that I won't use a shell that doesn't have at least halfway decent support for it. My biggest gripe with bash is that it doesn't do a good enough job of this. >> Archimedes. It doesn't allow them at all, from what I understand. > > It probably doesn't disallow file extensions [per se], but the dot Could be. I haven't used it personally. > It's all about heuristics, and I'd hate to have perl behave differently > when the filename is different. Oh, I'd hate to have Perl behave differently when the filename passed to it as an argument is different, but I don't see how that is necessary for what the OP was talking about: As a special case, if the "filename" argument to perl is a directory, and the directory contains a file named "main.pl", then the directory is prepended to @*INC, and main.pl is run. Here the real operative issue is that the argument is a *directory*, rather than a regular file. Currently AFAIK Perl doesn't do anything very useful when the argument is a directory. As far as 'main.pl', that's a special case of a magic filename in a specific circumstance, much like MIRRORED.BY with CPAN.pm -- it's a file Perl goes looking for under special conditions (namely, in Mastros' proposal, when the argument to Perl is a directory). > Perl shouldn't have to care about the given file name at all. perl < > $file and perl $file should work the same. I don't disagree with that, but I don't think it implies that Perl can't know anything about extensions or make any use of them ever. -- $;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,"[EMAIL PROTECTED]/ --";$\=$ ;-> ();print$/