stat file
Returns a 13-element list giving the statistics for a file, indicated by either a filehandle or an expression that gives its name. It's typically used as follows:
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
    $atime,$mtime,$ctime,$blksize,$blocks)
            = stat $filename;
Not all fields are supported on all filesystem types.
Here are the meanings of the fields:
| Field | Meaning | 
|---|---|
dev | Device number of filesystem | 
ino | Inode number | 
mode | File mode (type and permissions) | 
nlink | Number of (hard) links to the file | 
uid | Numeric user ID of file's owner | 
gid | Numeric group ID of file's owner | 
rdev | The device identifier (special files only) | 
size | Total size of file, in bytes | 
atime | Last access time since the epoch | 
mtime | Last modification time since the epoch | 
ctime | Inode change time (not creation time!) since the epoch | 
blksize | Preferred blocksize for file system I/O | 
blocks | Actual number of blocks allocated | 
$dev and $ino, taken together, uniquely
identify a file. The $blksize and $blocks
are likely defined only on BSD-derived filesystems. The
$blocks field (if defined) is reported in 512-byte blocks.
Note that $blocks*512 can differ greatly from
$size for files containing unallocated blocks, 
or "holes,"
which aren't counted in $blocks.
If stat is passed the special filehandle
consisting of an underline, no actual stat is done, 
but the current contents of the stat structure from the 
last stat or stat-based file test (the -x operators) is returned.