At 00:10 +0100 2002.04.11, p kent wrote:
>But that requires that the writer insert this Mac-specific line in all
>their scripts, which is an effort that thousands of people need to make.
Yes. But I most likely won't include your changes in the standard version
of the module, because I am not going to change behavior of a module in a
way many people won't appreciate.
Still, even if you wanted it to be added to the standard module, what about
Getopt::Long? What about other Getopt:: modules? Again, you would want to
have the same code there for the same reasons you want it in Getopt::Std,
and you wouldn't want to keep duplicating it, so you should have it in an
external module that could be used by any Getopt:: module.
I'd recommend writing the module and then users can manually modify any
Getopt:: module -- or any code -- by just adding one line to their local
copy of them. We could possibly include it in the standard distribution,
but the standard Getopt:: modules *will not* be modified to use it in the
standard distribution, unless I can be convinced that pretty much everyone
would want that; it's a drastic change, and can't be taken lightly, as it
will "break" the expected behavior in some cases.
For example, I might currently drop filenames with switches in them on a
droplet, so I already have the options being passed (yes, some people do
this). Or more likely, I am using a script with Getopt::Std and want to
ignore all options, and this code would force interaction where I want
none, which would be considerably annoying. I'm not outright against it,
but I would need to be convinced.
Also, FWIW, the conditional for whether or not to execute the subroutine
should not be a regex (we know the exact string) and it should check to
make sure we are running under the application, since MPW users would not
want or need it.
_macMakeArgv() if $^O eq 'MacOS'
&& $MacPerl::Version =~ /\bApplication\b/;
You might also want to look into using Text::ParseWords::shellwords() to do
your parsing of the string.
--
Chris Nandor [EMAIL PROTECTED] http://pudge.net/
Open Source Development Network [EMAIL PROTECTED] http://osdn.com/