use strict; use warnings; open my $inFH, q{<}, \ < ) { next unless $record =~ m{name\s+jack\b}; chomp $record; $record = $/ . $record; { local $/ = qq{\n}; print for do { open my $recordFH, q{<}, \ $record or die $!; grep { m{^(?:id|address|name|lastname)} } <$recordFH>; }; } } }