File::stat
use File::stat; $st = stat($file) or die "Can't stat $file: $!"; if ($st->mode & 0111 and $st->nlink > 1)) { print "$file is executable with many links\n"; } use File::stat ":FIELDS"; stat($file) or die "Can't stat $file: $!"; if ($st_mode & 0111 and $st_nlink > 1) ) { print "$file is executable with many links\n"; } @statinfo = CORE::stat($file); # Access overridden built-in.
The
File::stat
module provides a method interface to Perl's built-in stat
and lstat
functions by replacing them with versions that return a File::stat
object (or undef
on failure). This object has methods that return the like-named structure field name from the traditional stat(2) syscall; namely, dev
, ino
, mode
, nlink
, uid
, gid
, rdev
, size
, atime
, mtime
, ctime
, blksize
, and blocks
. You may also import the structure fields into your own namespace as regular variables using the ":FIELDS
" import tag. (This still overrides your stat
and lstat
built-ins.) These fields show up as scalar variables named with a "st_
" in front of the field name. That is, the $st_dev
variable corresponds to the $st->dev
method.