#!/usr/bin/perl use File::Find; find sub { (-c | -b ) && push(@files,$File::Find::name) } , ("/dev") ; sub retHash () { my ($name, $major, $minor ) = split(",",stat -c '%n,%t,%T' $_`); my $return = {name=> $name, major=> hex($major), minor=> hex($minor) }; return $return; } @files = map ( &retHash($_) , @files); foreach $item (@files) { print "$item->{name} $item->{major} $item->{minor}\n"; }