BEGIN { my %seen; sub process { my $entry = shift; my ($dev, $ino) = stat $entry or return; $seen{"$dev $ino"}++ or return; ... rest of processing ... } }