On Oct 28, 2:51 pm, [EMAIL PROTECTED] (Andy Cravens) wrote: > -----Original Message----- > From: slow_leaner [mailto:[EMAIL PROTECTED] > Sent: Tue 10/28/2008 11:58 AM > To: [EMAIL PROTECTED] > Subject: matching elements from array and print the results line by line from > log file > > Hi, > I have a list of element in array that I would like to match the > pattern in logs file. I have hard time take element from array and > matching it. More then weeks now and don't know where to find in man > page. please help me. Here is my code. > > #!/usr/bin/perl -w > open ( FILE, " /var/log/cisco.log " ) || die "can't open cisco.log > file!"; > @cisco.log = <FILE>; > close (FILE); > > @array = qw( BPDUGUARD FAN_FAIL ); # more then 2 elements in array > > while (<@cisco.log>){ > foreach $line (@array){ > $_ =~ $line; #DOESN'T WORK AND I AM STUCK.. > print "$_\n"; #WANT TO PRINT THAT MATCH > } > } > > __END__ > thanks for your help > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED]://learn.perl.org/ > > Try this and let me know if it works... > > #!/usr/bin/perl -w > open ( FILE, "/var/log/cisco.log " ) || die "can't open cisco.log file!"; > @cisco = <FILE>; > close (FILE); > @array = qw( BPDUGUARD FAN_FAIL ); # more then 2 elements in array > foreach $line (@cisco) { > foreach $string (@array) { > if ($line =~ $string) { print "$line $string"; } > } > } > exit; __________________ thanks Andy. it works. But here is my gold.
1. i have 2 logs file that i would like to appending into one big @LOGFILE. spend 3 hours already and still...... 2. lists of element in @array that will match the line in above @LOGFILE. 3. then email it to me with the line that match (still reading the man page.) -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/