#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @persons; $persons[0] = []; while() { chomp; push @persons, [] and next if /^\s*$/; push @{$persons[-1]}, $_; } #print Dumper \@persons; print Dumper [grep { $_->[2] eq 'male' } @persons]; _ _DATA_ _ Horst Mustermann male Tina Mustermann female Otto Mustermann male