this is one of the way. try this
#!/usr/bin/env perl
use strict;
my $hits=0;
my $string_to_find="string";
my $file = "filename";
open (LOGFILE, $file);
my @cont = <LOGFILE>;
close(LOGFILE);
for(my $i = 0; $i <= $#cont; $i++) {
my $line = $cont[$i];
if ($line =~ /$string_to_find/i) {
my $st;
($i <= 5) ? ($st = 0) : ($st = $i - 5);
my $ln = $i - 1;
my $eln = $i + 1;
my $en = $i + 5;
($en > $#cont) ? ($en = $#cont) : ();
print @cont[$st..$ln];
print $line;
print @cont[$eln..$en];
}
}
Regards,
Velusamy R.
eval"print uc\"\\c$_\""for split'','j)@,/6%@0%2,`e@3!-9v2)/@|6%,53!-9@2~j';