The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Filesys::Statvfs - Perl extension for statvfs() and fstatvfs()


  use Filesys::Statvfs;

        my($bsize, $frsize, $blocks, $bfree, $bavail,
        $files, $ffree, $favail, $flag, $namemax) = statvfs("/tmp");

        #### Pass an open filehandle. Verify that fileno() returns a defined
        #### value. If you pass undef to fstatvfs you will get unexpected results
        my $fd = fileno(FILE_HANDLE);
        if(defined($fd)) {
                ($bsize, $frsize, $blocks, $bfree, $bavail,
                $files, $ffree, $favail, $flag, $namemax) = fstatvfs($fd);


Interface for statvfs() and fstatvfs()

Unless you need access to the bsize, flag, and namemax values, you should probably look at using Filesys::DfPortable or Filesys::Df instead. They will generally provide you with more functionality and portability.

The module should work with all flavors of Unix that implement the statvfs() and fstatvfs() calls. This would include Linux, *BSD, HP-UX, AIX, Solaris, Mac OS X, Irix, Cygwin, etc ...

The statvfs() and fstatvfs() functions will return a list of values, or will return undef and set $! if there was an error.

The values returned are described in the statvfs/fstatvfs header or the statvfs()/fstatvfs() man page.

The module assumes that if you have statvfs(), fstatvfs() will also be available.


Ian Guthrie

Copyright (c) 2006 Ian Guthrie. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


statvfs(2), fstatvfs(2), Filesys::DfPortable, Filesys::Df