I know that I'm showing up a little bit late to the party, but wouldn't
Tie::File work for this?
use strict;
use Tie::File;
# some variables get set up here since we're using strict (wink)
tie @lines, 'Tie::File', 'GWSvc.log', memory=>$some_small_number;
for ($i=0; $i<$#lines; $i++) {
if (/c9391b56-b174-441b-921c-7d63/) {
for ($j=$i-5; $j <= $i+5; $j++) {
print $lines[$j];
}
}
}
I'm sure there are a million ways to make it look cleaner, but I'm also very sleepy right now. This seems like it would solve the problem, though. I'm really a big fan of Tie::File after having been 'corrected' on my non-usage of it not too long ago. Now I find uses for it everywhere.