Need help in parsing an input in perl


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need help in parsing an input in perl
# 1  
Old 01-17-2013
Need help in parsing an input in perl

I am executing a command it is returning me something like this

Code:
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 port.

Eg:If $porttobechecked=6712 I want to return an array a[0]=TRUE and a[1]=http-listener-1(listener name)

If port to be checked is 4516..I want to return an array a[0]=FALSE and a[1]=null

How can i parse this output.Any help appreciated?

# 2  
Old 01-17-2013
Code:
#! /usr/bin/perl -w
use strict;

sub getListenerName {
    my $port = shift;
    my @a = ();
    
    open F, "< file";
    while (<F>) {
        chomp;
        if (/([^ ]*).+?$port/) {
            $a[0] = "TRUE";
            $a[1] = $1;
            last;
        }
        else {
            $a[0] = "FALSE";
            $a[1] = "null";
        }
    }
    close F;
    return @a;
}

my @x = &getListenerName (6712);
print "@x\n";

This User Gave Thanks to balajesuri For This Post:
# 3  
Old 01-17-2013
Thanks

TI am getting this output as array @outputarray also output is dynamic the name and port can change .How can i parse this where
outputarray[0]=name ip port
outputarray[0]=------------------------------------
outputarray[0]=http-listener-1 * 6712
# 4  
Old 01-17-2013
I've assumed that the below data is stored in a file.
Code:
name ip port
------------------------------------
http-listener-1 * 6712
http-listener-2 * 8709

Is it not?
# 5  
Old 01-17-2013
Its coming as array @outputarray

Pardon me for mistake I am beginner in perl

Code:
outputarray[0]=name  ip  port 
outputarray[1]=------------------------------------ 
outputarray[2]=http-listener-1  *   6712
outputarray[3]=http-listener-2  * 4743

I can also get the output array as like below if above is difficult to parse

Code:
outputarray[0]=http-listener-1  *             6712
outputarray[1]=http-listener-2  *           4743

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing C Data Tipes from Input File

Im really beginner in this case, maybe someone can help me find the answer: if my input file like this: void main(int a, int b){ int x; double y; printf("file"); } and i want output like this: int a int b int x double y A awk script that can parse only data tipe, im confused. what... (2 Replies)
Discussion started by: radynaraya
2 Replies

2. Homework & Coursework Questions

Problem parsing input with awk

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I want add a line.For example:- 123456 1 1 0 1 1 0 1 0 0 0 1 5 8 0 12 10 25 its answer... (4 Replies)
Discussion started by: Arsh10
4 Replies

3. Homework & Coursework Questions

Shell: Parsing Input

1. The problem statement, all variables and given/known data: I'm fairly confident I can brute force this assignment, but let's not do that ;-). Basically I'm required to support input such as ps aux | grep blah >> blah.txt& echo 'slslslsl' My question is what is the best way to parse that... (4 Replies)
Discussion started by: someoney3000
4 Replies

4. Shell Programming and Scripting

Help parsing job script input parameters

I have a job script that runs with input parms from the command line. job.sh -p parm1_parm2_parm3_parm4_file_1.dat The parms are separated by _ The last parm is a file name and can have an _ in the name. I currently use the following commands to extract the parms parm1=`eval echo... (3 Replies)
Discussion started by: jclanc8
3 Replies

5. Shell Programming and Scripting

Perl - pass shell-vars into perl for input loop

I need to process a file line-by-line using some value from a shell variable Something like:perl -p -e 's/$shell_srch/$shell_replace/g' input.txt I can't make the '-s' work in the '-p' or '-n' input loop (or couldn't find a syntaxis.) I have searched and found... (4 Replies)
Discussion started by: alex_5161
4 Replies

6. UNIX for Dummies Questions & Answers

Parsing name and phone as input and then print sub and marks out

I have a file like this : name phone id sub marks abc 2345 45 mat 90 bgt 6573 54 eng 89 ... .... .. ... .. ... .... .. ... .. Now i need to take in name and phone as input and then print sub and marks out, can u give me a sample code for this. P.S. If there are two of with same... (2 Replies)
Discussion started by: SasankaBITS
2 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

parsing file2 with input from file1

Sorry dublication with previous thread... please delete it Hi all i need and appreciate your help creating a script in ksh for the following case Two files exists with questionmark delemeter: File1.txt: A;B;C;F;D;K; File2.txt A,name,address1; K,name,surname,phone; C,name,phone;... (1 Reply)
Discussion started by: forumsgr
1 Replies

10. Shell Programming and Scripting

Parsing input paramter in a script

Hi folks I am having a little trouble in parsing a variable read into a ksh script I have a bunch of variables passed into script test.ksh HOST SERVER JOB1 JOB2 JOB3 JOB4 JOB5 What I want to do is read all the $JOB variables ($JOB1, $JOB2, $JOB3) into a variable and then read that variable... (2 Replies)
Discussion started by: Anubhav
2 Replies
Login or Register to Ask a Question