Filesys::Statvfs(3) 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 [email protected]

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.