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$/