I would probably write it like this (Although, I'm not sure what that :58 is about):
open(FILE, "file1.txt") or die "Can not open file. ", $!, "\n"; @lines = grep { /:58/ } <FILE>; So you can understand and learn, let me just tell you you're mistakes. open(FILE, "file1.txt") or die "Can not open file. $! \n"; #or bounds looser. Get in the habbit for using this instead, because if you said "open FILE, "file1.txt" || die "Cannot open file. $!\n";" it wouldn't do what you expected. while ($line = <FILE>) { if ($line =~ /:58/) { #I don't understand why, but I'm assuming this is what you want #You didn't need another loop here push (@line, $line); #by saying @lines = $lines, you're changing the entire array. Just push $lines to the end. } } In a message dated 2/22/2004 12:05:29 AM Eastern Standard Time, [EMAIL PROTECTED] writes: open(FILE, "file1.txt") || die "Can not open file. $! \n"; while ($line = <FILE>) { if ($line =~ /:58/) { #print $line; ## For Debugging Only foreach ($line) { @lines = $line; } } } print "@lines"; -Will ----------------------------------- Handy Yet Cryptic Code. Just to Look Cool to Look at and try to decipher without running it. Windows perl -e "printf qq.%3i\x20\x3d\x20\x27%c\x27\x09.,$_,$_ for 0x20..0x7e" Unix perl -e 'printf qq.%3i\x20\x3d\x20\x27%c\x27%7c.,$_,$_,0x20 for 0x20..0x7e'