Perl lstat Function



This function performs the same tests as the stat function on FILEHANDLE or the file referred to by EXPR or $_

If the file is a symbolic link, it returns the information for the link, rather than the file it points to. Otherwise, it returns the information for the file.


Following is the simple syntax for this function −


lstat EXPR


Return Value

This function returns a list of 13 elements in list context, these fields are as follows −

  0 dev      device number of filesystem
  1 ino      inode number
  2 mode     file mode  (type and permissions)
  3 nlink    number of (hard) links to the file
  4 uid      numeric user ID of file's owner
  5 gid      numeric group ID of file's owner
  6 rdev     the device identifier (special files only)
  7 size     total size of file, in bytes
  8 atime    last access time in seconds since the epoch
  9 mtime    last modify time in seconds since the epoch
 10 ctime    inode change time in seconds since the epoch (*)
 11 blksize  preferred block size for file system I/O
 12 blocks   actual number of blocks allocated

NOTE − The epoch was at 00:00 January 1, 1970 GMT.


Following is the example code showing its basic usage −

#!/usr/bin/perl -w

$filename = "/tmp/";
   $blocks) = lstat($filename);
printf "File is %s,\n size is %s,\n perm %04o, mtime %s\n", $filename, $size, 
   $mode & 07777, scalar localtime $mtime;