in reply to Search String - next line

Assuming the file is small enough to be read into memory in one chunk then you can do this with a single regex. Clearly you have to subsitute $Nth and $match with what you want.
open (FILE '<filename'); $_ = join('',<FILE>); close (<FILE>); my ($result) = m!$match(?:.*?$/){$Nth}(.*?$/)!s; print $result;
If you expect the match to occur multiple times then you should loop using a while (m! !sg) expression as in
open (FILE '<filename'); $_ = join('',<FILE>); while ( m!$match(?:.*?$/){$Nth}(.*?$/)!sg) { print $1; # pos = length ($match) + length ($`); }
In the looping case there is some ambiguity about what should happen in the event that $match also occurs in the lines that are skipped. In the code as written above we ignore any such possible matches. Careful manipulation of pos in the loop however does allow all $Nth lines after $match to be found - this is the line commented out in the above. Changing it so as to ensure that none of the skipped lines contains $match is left as an exercise for the student...

Dingus


Enter any 47-digit prime number to continue.