#!/usr/bin/perl use strict; use warnings; use POSIX qw(strftime); # for date formatting my %fileinfo; for my $fname (glob "[0-9]*.pl") { my ($mode, $uid, $size, $mtime) = (stat $fname)[2,4,7,9]; $fileinfo{$fname} = { SIZE => $size, DATE => strftime("%Y-%m-%d %H:%M", localtime($mtime)), OWNER => scalar getpwuid($uid), PERM => sprintf("%o", $mode & 07777), } if -f _; } # ...dump %fileinfo