in reply to upto match please, my one-lina!!
Firefly258:
Howzabout this?
You can even slice @t in the print if you want to have a larger gap between the last printed item and the regular expression...perl -ne 'print @t if /foo/; push @t,$_; shift @t if $#t>5' file
UPDATE: I golfed it down a little:
--roboticusperl -ne 'print @t if /foo/; @t=(@t[1..4],$_)' file
In Section
Seekers of Perl Wisdom