perl bug File::Basename and Perl's nature
Rich Krauter
rmkrauter at yahoo.com
Sun Jan 25 00:58:30 EST 2004
You're supposed to pass in regexes, perhaps? So your '.m' argument
actually means "anything followed by an m" and not literally "a dot
followed by an m". Just a guess, but that would explain your problem.
Rich
On Sun, 2004-01-25 at 00:31, Xah Lee wrote:
> Just bumped into another irresponsibility in perl.
>
> the crime in question this time is the module File::Basename.
>
> Reproduction:
>
> 1. create a directory containing a file of this name: "cdrom.html".
> 2. "use File::Basename;", with the line:
> ($name,$path,$suffix) = fileparse($File::Find::name, ('.html',
> '.m'));
> 3. Notice that your cdrom.html will be parsed into "cdr" with suffix
> "om.html".
>
> expletive Perl and Perl slinging morons.
>
> Now, if you peruse the "documentation" of "perldoc File::Basename",
> you'll see that it shouldn't be so. AND, the writting as usuall is
> fantastic incompetent. To illustrate, i quote:
>
> --begin quote
>
> fileparse
>
> The fileparse() routine divides a file
> specification into three parts: a leading path, a
> file name, and a suffix. The path contains
> everything up to and including the last directory
> separator in the input file specification. The
> remainder of the input file specification is then
> divided into name and suffix based on the
> optional patterns you specify in
> @suffixlist. Each element of this list can be a
> qr-quoted pattern (or a string which is
> interpreted as a regular expression), and is
> matched against the end of name. If this
> succeeds, the matching portion of name is removed
> and prepended to suffix. By proper use of
> @suffixlist, you can remove file types or
> versions for examination.
>
> --end quote
>
> Note the last sentence: "By proper use of @suffixlist, you can remove
> file types or versions for examination." Now, this is in sync with the
> usual verbiages of unix man pages, of mentioning irrevalent things.
> Why the fuck do i need to know what is version, or examination what??
> Not every morons in this world is using unix with its morinic
> convention of appending things to file names as a versioning system,
> and not every moron in this world need to "exam" things. The unix
> irrevalency, inprecision, driveling are paragoned above.
>
> Here is a better documentation for the fileparse subroutine.
>
> fileparse
>
> fileparse divides a file name into 3 parts:
> directory string, file name, file name
> suffix. fileparse($filename, @suffixes) returns a
> array of 3 elements ($name, $dir_path,
> $suffix). The concocted result of
> "dir_path$name$suffix" is guaranteed to equal to
> $filename. The @suffixes is a array of strings,
> for example ('\.html', '\.txt', '\.png'). These
> strings are interpreted to be regular
> expressions, and is matched against the end of
> $filename.
>
>
> But NOOO, perl morons are too enamored with driveling to write such
> functional spec, after all, the code is sloppy and they don't REALLY
> know what the code really does. This is not just one incompetence.
> Perl is filled with them.
>
> This report is on Perl version:
> This is perl, v5.8.1-RC3 built for darwin-thread-multi-2level
> (with 1 registered patch, see perl -V for more detail)
>
> --
>
> To the rookie programers out there, i advice against learning Perl.
> (i suggest Python instead) Please see
> http://xahlee.org/UnixResource_dir/perlr.html
>
> Xah
> xah at xahlee.org
> http://xahlee.org/PageTwo_dir/more.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20040125/a6f1de3f/attachment.html>
More information about the Python-list
mailing list