Subject: | Bug with line delimeters (tests and fix included) |
Hi,
Getopt::Euclid (Getopt-Euclid-v0.2.0) has a critical bug with line delimeters: When using a
file with Unix line endings, no options are recognised when the script (or module) runs on
Windows and vice versa.
The result is, that the same files can not run on Windows AND Unix. There is no error
message. All options are simply ignored. :-(
Attached there is a diff with the following changes and the complete distribution with:
* Tests, which show the bugs
- t/line_delimeters-unix.t
- t/line_delimeters-windows.t
- t/line_delimeters-mac-os-classic.t
* A fixed version of lib/Getopt/Euclid.pm
* diff with all changes: getopt-euclid-newline-patch.diff
The changes begin in line 83:
#
# Clean up line delimeters:
# Windows : \x0D\x0A
# Unix : \x0A
# MacOS Classic: \x0D
#
# => Replace them by native line ending on this platform: \n
#
my $LINE_DELIMETERS = qr{ \x0D? \x0A | \x0D }xms;
$source =~ s{ $LINE_DELIMETERS }{\n}gxms;
map { s{ $LINE_DELIMETERS }{\n}gxms; } @std_POD;
It would be good if the bug gets fixed soon in the version distributed via CPAN.
BTW: There is another "bug": The documentation sais that "no bugs have been reported" --
this is not true, there are some bugs in RT ...
Ciao
Alvar
--
** Alvar C.H. Freude
** http://alvar.a-blast.org/
** http://www.perl-blog.de/
Subject: | getopt-euclid-newline-patch.tar.gz |
Message body not shown because it is not plain text.