Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Answer: How do you use command line parameters?

( #187864=categorized answer: print w/ replies, xml ) Need Help??

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

Hi.
The easiest way is to use the Getopt::Std module ( it is part of the standard distribution ). Here is a sample program.
#!/usr/bin/perl -w use strict; use Getopt::Std; use vars qw( $opt_s $opt_r $opt_n ); if( ! getopts('srn' ) ) { die "Usage: filename.pl -srn filename\n"; #Example: perl myfile.pl -r test.txt } my @file = <>; if( $opt_s ) { @file = sort { $a cmp $b } @file; } if( $opt_r ) { @file = reverse @file; } if( $opt_n ) { @file = sort { $a <=> $b } @file; }

Each command-line switch is assigned to its respective scalar variable ( $opt_s, etc. ) and if it exists, its individual value is 1.
You can also use multiple switches:
$perl myfile.pl -rn test.txt # Reverse the contents of test.txt and perform # a numeric sort on it.

# Sample runs: C:\perl>perl pg8.pl -r test.txt third line. second line. first line. C:\perl> C:\perl>perl pg8.pl -n test.txt 2 33 33 44 48 55 889 990 C:\perl> C:\perl>perl pg8.pl -c test.txt Unknown option: c Usage: filename.pl -srn filename C:\perl>

In the last example, I hadn't declared an $opt_c in the line 'use vars qw ( $opt_s ... );' or an if() statement to handle it. This is why I received the message.

Hope this helps,
-Katie.

Comment on Answer: How do you use command line parameters?
Select or Download Code
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (11)
As of 2014-07-29 16:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (223 votes), past polls