use strict; use warnings; my $user = 'other'; my $val; while () { if (m/^\d+\/\d+\/\d+ \d+:\d+:\d+ user=$user func\(/) { $val .= $_ while ($_ = ) !~ /\) #end trans#/; last; } } print $val; __DATA__ 2005/06/06 12:00:00 user=me func( blah blah blah blah blah blah ) #end trans# 2005/06/06 12:01:00 user=other func( blah blah blah blah blah ) #end trans#