Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Answer: How do you use command line parameters?

by japhy (Canon)
on Sep 20, 2000 at 18:47 UTC ( #33290=categorized answer: print w/replies, xml ) Need Help??

Q&A > input and output > How do you use command line parameters? - Answer contributed by japhy

Command-line parameters are sent to a Perl program in the same way they're sent to any other.
% ./myprog foo bar blat
The @ARGV array holds the command-line arguments, and in this case, it would hold ('foo', 'bar', 'blat').

Perl allows for simplistic command-line options via the -s option to perl:
#!/usr/bin/perl -s print "value of -x: $x\n"; print "value of -name: $name\n";
Here's a sample run:
% ./myprog -x -name=Jeff value of -x: 1 value of -name: Jeff
If you want more complex option parsing, there are two standard modules that can do this for you: Getopt::Std and Getopt::Long.

Perl allows you to treat the arguments in @ARGV as filenames, by using the special case of the <> operator.
while (<>) { # $ARGV is the filename # $_ is the line # $. is the line number # reset it to 0 by doing # $. = 0 if eof; # or # close ARGV if eof; }

Replies are listed 'Best First'.
RE: Answer: How do you use command line parameters?
by japhy (Canon) on Sep 20, 2000 at 18:52 UTC
    That is, you can use the arguments in @ARGV as filenames to read from. Should've made that clear.

Log In?

What's my password?
Create A New User
and a log crumbles through the grate...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2018-01-20 22:04 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (227 votes). Check out past polls.