#!/usr/bin/perl -w use strict; use warnings; my %filegroups; opendir(my $DIRH, '.') || die "Can't open dir: $!\n"; my $cnt=0; while (my $filename = readdir($DIRH)) { next unless $filename =~ /^(\d+)/; push @{$filegroups{$1}}, $filename; ++$cnt; } my $cnt2=0; for my $grp (keys %filegroups) { print "$grp: ", join(", ", @{$filegroups{$grp}}), "\n"; last if $cnt2++>5; } print "Files: $cnt, Groups: ", scalar(keys %filegroups), "\n";