Perl - switch parsing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Perl - switch parsing
# 1  
Old 12-15-2010
Perl - switch parsing

I want to write a script that performs this type of behavior:

Example:

Code:
./Myscript.pl -a ARGUMENT

Run code 'a'

Code:
./Myscript.pl -b ARGUMENT

Run code 'b'

Do I use a case statement, functions? I am new to perl, just a code template on how to achieve this would be great.

Last edited by radoulov; 12-15-2010 at 05:53 PM.. Reason: Code tags and title fixed.
# 2  
Old 12-15-2010
Code:
#!/bin/perl 

use warnings;
use strict;

use Getopt::Std;
use File::Basename;

my ( %opt, $prg );

$prg = basename $0;

usage() unless @ARGV;

usage() unless getopts( 'ha:b:', \%opt );

$opt{h} and usage();

sub usage {
    print STDERR << "EOF";

    Name $prg - my program

    usage: $prg [-a arg_a] [-b arg_b]

     -a arg_a   : comment here ...
     -b arg_b   : comment here ...

    example: $prg -a arg_a -b arg_b

EOF
    exit;
}

$opt{a} and print "attempting a with $opt{a}\n";

$opt{b} and print "attempting b with $opt{b}\n";

For more info see perldoc.perl.org/Getopt/Std.html.

Last edited by radoulov; 12-15-2010 at 06:29 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need help in parsing an input in perl

I am executing a command it is returning me something like this name ip port ------------------------------------ http-listener-1 * 6712 http-listener-2 * 8709 I have a subroutine getListenerName($porttobeChecked) This subroutine returns me the name of the listener if i pass a... (4 Replies)
Discussion started by: javaholics
4 Replies

2. UNIX for Advanced & Expert Users

Perl parsing help required.

Hello, I got a file like this. 5201 5202 5203 5204 1234 2345 3456 4567 6210 6220 6230 6240 The required output should be 5201 1234 6210 (9 Replies)
Discussion started by: suverman
9 Replies

3. Shell Programming and Scripting

perl Net::SNMP version getting info from cisco switch

I am having trouble working with SNMP module with perl. I am trying to get SNMP version of target system. I use following code to get it however it resturns error as "Argument "v6.0.1" isn't numeric in numeric lt (<) at ./chk_env_upd.pl line 447." Get load table my $resultat =... (1 Reply)
Discussion started by: dynamax
1 Replies

4. Shell Programming and Scripting

Perl log parsing help

Hello, I'm sure this is a very simple problem, but I'm having trouble thinking of an efficient way to do the following: given a large centralized ssh-log, one file on a syslog server, not separated by machines (I wish it were), that looks something like this: Sep 27 16:20:56 machine-name... (1 Reply)
Discussion started by: droog72
1 Replies

5. Shell Programming and Scripting

Perl parsing question

I need some help loading an array. I have two unique delimiters, but I keep running into recursion. #!/usr/bin/perl $INFILE="/root/scripts/data.txt"; $pat1="SCRIPT####"; $pat2="SCRIPT#echo"; $flag=0; $inc=0; $chunk=""; open(INFILE,"<$INFILE")|| die; while(<INFILE>) { if... (2 Replies)
Discussion started by: s_becker
2 Replies

6. Shell Programming and Scripting

Perl script parsing Help

Hi All, I am looking for a parsing in perl script which will parse DJEČJI SVIJET. There is a unicode character above character C. How to parse the total DJEČJI SVIJET in perl. Regards, Harikrishna (3 Replies)
Discussion started by: Harikrishna
3 Replies

7. Shell Programming and Scripting

Perl Parsing Argument

i wanna passing an argument which read in a file or a set of files if the files are given in the command line, otherwise use STDIN if no file argument. i got something like that, but it is not really working. so can anyone help me? which one is better to use for and how? Use perl. Thank you ... (0 Replies)
Discussion started by: mingming88
0 Replies

8. Shell Programming and Scripting

Perl parsing compared to Ksh parsing

#! /usr/local/bin/perl -w $ip = "$ARGV"; $rw = "$ARGV"; $snmpg = "/usr/local/bin/snmpbulkget -v2c -Cn1 -Cn2 -Os -c $rw"; $snmpw = "/usr/local/bin/snmpwalk -Os -c $rw"; $syst=`$snmpg $ip system sysName sysObjectID`; sysDescr.0 = STRING: Cisco Internetwork Operating System Software... (1 Reply)
Discussion started by: popeye
1 Replies

9. Shell Programming and Scripting

Perl: parsing variables

I have the following script: #!/usr/bin/perl -w @files = <*.csv>; foreach $file (@files) { open(FH, $file); my @dt = split(/_|.csv/, $file); while (<FH>) { chomp; print $dt . $dt . ",$_\n"; } close(FH); } This script reads in all csv files in the current directory... (2 Replies)
Discussion started by: figaro
2 Replies

10. Shell Programming and Scripting

HTML parsing by PERL

i have a HTML report file..its in attachment(a part of the whole report is attached..name "input html.doc").also its source is attached in "report source code.txt" i just want to seperate the datas like in first line it should be.. NHTEST-3848498958-NHTEST-10.2-no-baloo a and so on for whole... (3 Replies)
Discussion started by: avik1983
3 Replies
Login or Register to Ask a Question