Help with a perl subroutine regex


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help with a perl subroutine regex
# 1  
Old 12-01-2008
Help with a perl subroutine regex

Hi,

I can't get this script ot work and I wa wondering if anyone could help?

I need to open a file and use a subroutine to search each line for a regular expression. If it matches then I need to return a match from the subroutine and print the result?

Any help would be greatly appreciated. I know it is simple but I can't seem to figure it out for some reason.

Thanks,
JD


#!/usr/bin/perl -w
#
#
$filename = "data.txt";

open FILE, $filename or die("could not open $filename for reading: $!");


foreach my $line (<FILE>) {

my $matched_line = &find_match($line);

if ($matched_line) {

print "$matched_line\n";

}

}


close FILE;




sub find_match {
$grep = @_;
if ($grep =~ m/blue/){
return $grep;
}

}
#}
#}
# 2  
Old 12-01-2008
In the script print each of the variables line after line to see what happens.
# 3  
Old 12-01-2008
........

Last edited by nj78; 12-01-2008 at 09:08 PM.. Reason: Bad
# 4  
Old 12-01-2008
Sorry, not right
# 5  
Old 12-01-2008
I can get it to work with this:

sub find_match {
$grep = $_[0];
if ($grep =~ m/blue/){
return $grep;
}


can't exactly say why previous doesn't work, can someone chime in?
# 6  
Old 12-01-2008
here you have assigned a list to a scalar:

$grep = @_;

the scalar will equal the length of the list instead of the value of any of the list elements. Using $_[0] properly assigns the value of a scalar to a scalar.
# 7  
Old 12-01-2008
Ahh, thanks.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Perl subroutine returning different values in HPUX

HI , I am running a program on hpux in perl. I am encountering a strange issue where when i print a variable in the sub which is returning it , it prints a different value but when i call it and store value in a variable it gives a different o/p. the sub is sub CheckConfigFilePattern ... (4 Replies)
Discussion started by: Jcpratap
4 Replies

2. Shell Programming and Scripting

perl -Calling the Subroutine Only if the condition is met

Hello All, I am in the process of learning perl.I have a perl script and based on the arguments passed it would the appropriate subroutine that is defined in the script. Now, I need to check a value that is defined in the Environment variables and should call the subroutine only if the... (1 Reply)
Discussion started by: filter
1 Replies

3. Shell Programming and Scripting

Problem saving return value of subroutine in perl

Hi all, I have this code #This program read the triplets from file named "data" into #an array of array. use strict; use warnings; use Data::Dumper; use Graph; use Graph::Subgraph; my @S; while (<>) { push @S, ; } print "-----TRIPLETS-------\n"; print Dumper \@S; #Make... (6 Replies)
Discussion started by: rushadrena
6 Replies

4. Shell Programming and Scripting

perl - return an object from subroutine - Net::LDAP

Hi all, I'm not even sure a person can do this in perl, seems like you should be able to though. Here's the error IO::Socket::INET: connect: Operation now in progress at server_search.pl line 256, <DATA> line 466. Here's the perl code... sub ldap_new{ $nl = Net::LDAP->new( "$_" ) or... (3 Replies)
Discussion started by: jtollefson
3 Replies

5. Shell Programming and Scripting

Perl - pass file to subroutine

Hello All, I have 2 perl sub-routines. my $myDir = myDir_path; my $file; sub convert(){ system ("./$myConvertScript >> $myDir/$file_CONV" ); $file2 = $myDir/$file_CONV; } sub addDB(){ open(CONF, $config) or die "Cannot Open $config for reading. "; while(<CONF>){... (1 Reply)
Discussion started by: ad23
1 Replies

6. Programming

perl: Subroutine question

Hi everyone, I have given up finally trying to find a way to do this. I have a subroutine called LoginFirst where I am starting a new SSH session. I have bunch of subroutines, each one of them uses a (or I have to create a new SSH constructor everytime) ssh connection to get some value so ... (2 Replies)
Discussion started by: dummy_code
2 Replies

7. Shell Programming and Scripting

Calling perl subroutine from shell script (sh)

Hi, ive a perl script, where it has a subroutine clear() in it, and i've one shell script which runs in background, from that shell script i wanted to call subroutine which is in perl script, that's perl script is not module, just simple script. Eg: perl script <test> #!... (4 Replies)
Discussion started by: asarunkumar
4 Replies

8. Shell Programming and Scripting

Why Perl Subroutine Passed In Variable is 1?

The following subroutine prints 1 instead of the content of the Equipment variable. Can someone tell me why? #!c:/perl/bin/perl.exe # use strict 'vars'; my $Equipments = "data/equips.txt"; unless (open(EQUIP_FH, "$Equipments")) { print "errors: $Equipments\n"; # This line prints... (1 Reply)
Discussion started by: tqlam
1 Replies

9. Shell Programming and Scripting

calling perl subroutine from perl expect module

All, Is it possible to call a subroutine from the perl expect module after logging to a system that is within the same program. My situation is I need to run a logic inside a machine that I'm logging in using the expect module, the logic is also available in the same expect program. Thanks,... (5 Replies)
Discussion started by: arun_maffy
5 Replies

10. Shell Programming and Scripting

Converting perl regex to sed regex

I am having trouble parsing rpm filenames in a shell script.. I found a snippet of perl code that will perform the task but I really don't have time to rewrite the entire script in perl. I cannot for the life of me convert this code into something sed-friendly: if ($rpm =~ /(*)-(*)-(*)\.(.*)/)... (1 Reply)
Discussion started by: suntzu
1 Replies
Login or Register to Ask a Question