You can read one list into an array (@list) and then loop through the other file ($item) and grep the list for the item.
for ($item = <>) { # or foreach print "$item found" if ( grep $item, @list ); } On 4/20/07, Saravana Kumar <[EMAIL PROTECTED]> wrote:
Boga Srinivas wrote: > Hi kumar, > > Try this. > > [EMAIL PROTECTED]:~/perl$ cat reg.pl > #! /usr/bin/perl > $id="[EMAIL PROTECTED]"; > while(<>) { > chomp($_);print "$_\t"; > print "$id found\n" if /$id/; > print "$id not found\n" if ! /$id/; > } > > [EMAIL PROTECTED]:~/perl$ cat mail.txt > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED]:~/perl$ ./reg.pl < mail.txt > [EMAIL PROTECTED] [EMAIL PROTECTED] found > [EMAIL PROTECTED] [EMAIL PROTECTED] not found > [EMAIL PROTECTED] [EMAIL PROTECTED] not found > > > ~Regards > -srini Yes. I have tried that. It works. My problem is that the $id that i am matching will also be read from another file. ie., a list of ids read one by one from a file and matched against another file which has another list. Thanks! for your time. SK > > Saravana Kumar wrote: >> Hi list, >> >> I am testing a regex with email ids. I have a list of ids that i want to >> match against a one more list of ids. >> >> I have this: >> #! /usr/bin/perl >> $id="[EMAIL PROTECTED]"; >> while(<>) { >> chomp($_);print "$_\t"; >> print "$id found\n" if /$id/; >> print "$id not found\n" if ! /$id/; >> } >> >> and a file /tmp/sampleids >> [EMAIL PROTECTED] >> [EMAIL PROTECTED] >> [EMAIL PROTECTED] >> [EMAIL PROTECTED] >> >> When i run it i get : >> [EMAIL PROTECTED] user1.net not found >> [EMAIL PROTECTED] user1.net not found >> [EMAIL PROTECTED] user1.net not found >> [EMAIL PROTECTED] user1.net not found >> >> When i try to match simple text it works but matching email ids doesn't. >> What am i doing wrong here? >> >> Please help me with this. >> >> TIA, >> SK
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/