Greetings, Monks.
I was recently turned on to perl -s as a way to parse command
line options (please, I dont want to know about any more
command line options modules, its way overkill).
So, without further ado, from perldoc perlrun:
-s enables rudimentary switch parsing for switches on
the command line after the program name but before
any filename arguments (or before a --). Any switch
found there is removed from @ARGV and sets the
corresponding variable in the Perl program. The
following program prints "1" if the program is
invoked with a -xyz switch, and "abc" if it is
invoked with -xyz=abc.
#!/usr/bin/perl -s
if ($xyz) { print "$xyz\n" }
So I am taken to understanding that I can then use an option from
the command line to have $xyz (or $switch, as used in the example below)
defined.
Here's a relevant example:
#!/usr/bin/perl -ws
# minus-ess.pl
use strict;
# if we run it ./minus-ess.pl -switch "foo" it should be defined.
my $switch = "hooray" unless (defined $switch);
print $switch;
which yields us:
Global symbol "$switch" requires explicit package name at minus-ess.pl
+ line 7.
I guess then what I need to do is "turn off" strict while I am parsing
the command-line options. My idea was to use an anonymous code block ( { ... } ) turn off
strict in there, and then just close it.
thanks,
dep.
--
i am not cool enough to have a signature.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.