for my $list (@lists) { printGroups($list->{groups}, %group); print $list->{line}; print "\n"; } #### sub uniq { my %seen; grep !$seen{$_}++, @_; } for my $list (@lists) { my @filtered = uniq(@lists); printGroups($filtered->{groups}, %group); print $list->{line}; print "\n"; }