MirBSD manpage: File::stat(3p)

File::stat(3p)  Perl Programmers Reference Guide   File::stat(3p)


     File::stat - by-name interface to Perl's built-in stat()


      use File::stat;
      $st = stat($file) or die "No $file: $!";
      if ( ($st->mode & 0111) && $st->nlink > 1) ) {
          print "$file is executable with lotsa links\n";

      use File::stat qw(:FIELDS);
      stat($file) or die "No $file: $!";
      if ( ($st_mode & 0111) && $st_nlink > 1) ) {
          print "$file is executable with lotsa links\n";


     This module's default exports override the core stat() and
     lstat() functions, replacing them with versions that return
     "File::stat" objects.  This object has methods that return
     the similarly named structure field name from the stat(2)
     function; namely, dev, ino, mode, nlink, uid, gid, rdev,
     size, atime, mtime, ctime, blksize, and blocks.

     You may also import all the structure fields directly into
     your namespace as regular variables using the :FIELDS import
     tag.  (Note that this still overrides your stat() and
     lstat() functions.)  Access these fields as variables named
     with a preceding "st_" in front their method names. Thus,
     "$stat_obj->dev()" corresponds to $st_dev if you import the

     To access this functionality without the core overrides,
     pass the "use" an empty import list, and then access func-
     tion functions with their full qualified names. On the other
     hand, the built-ins are still available via the "CORE::"


     As of Perl 5.8.0 after using this module you cannot use the
     implicit $_ or the special filehandle "_" with stat() or
     lstat(), trying to do so leads into strange errors.  The
     workaround is for $_ to be explicit

         my $stat_obj = stat $_;

     and for "_" to explicitly populate the object using the
     unexported and undocumented populate() function with

perl v5.8.8                2005-02-05                           1

File::stat(3p)  Perl Programmers Reference Guide   File::stat(3p)

         my $stat_obj = File::stat::populate(CORE::stat(_));


     While this class is currently implemented using the
     Class::Struct module to build a struct-like class, you
     shouldn't rely upon this.


     Tom Christiansen

perl v5.8.8                2005-02-05                           2

Generated on 2022-12-24 01:00:14 by $MirOS: src/scripts/roff2htm,v 1.113 2022/12/21 23:14:31 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2022 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.

Kontakt / Impressum & Datenschutzerklärung