Fri Jan 06 03:02:15 2012: Request 73785 was acted upon.
Transaction: Ticket created by FANGLY
Queue: Module-ScanDeps
Subject: scandeps -c fails on modules that depend on Getopt::Euclid
Broken in: 1.07
Severity: (no value)
Owner: Nobody
Requestors: florent.angly@gmail.com
Status: new
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=73785 >
Hi,
If a module uses Getopt::Euclid to parse its CLI arguments and that some
arguments are required, the 'scandeps -c' command fails.
For example, with the attached script:
$ ./simple.pl
Missing required argument:
-s[ize]=<h>x<w>
(Try this for usage help : simple.pl --help)
(Try this for full manual: simple.pl --man )
This is an error because the required argument is missing. Now if I scan
the dependencies:
$ scandeps -c simple.pl
Missing required argument:
-s[ize]=<h>x<w>
(Try this for usage help : simple.pl --help)
(Try this for full manual: simple.pl --man )
SYSTEM ERROR in compiling simple.pl: 512 at
/usr/share/perl5/Module/ScanDeps.pm line 1296.
Whereas:
$ perl -c simple.pl
simple.pl syntax OK
The reason perl -c works is that Getopt::Euclid checks the value of $^C
to workaround the issues associated with having been called in
compile-mode and to not report any error message. However, scandeps
seems to call something around the lines of "perl simple.pl", which
generates an error.
In short, if scandeps could call "perl -c simple.pl" or "perl simple.pl"
but somehow have $^C set to 1, then it would be fine.
Regards,
Florent
Thread Previous