This distribution contains the modules Filesys::Statfs, Filesys::Statvfs, and Filesys::Df. This is a new release to support some systems that only have statfs(). If you have problems with this release try using Filesys-Statvfs_Df-0.68. DESCRIPTION Filesys::Statfs provides an interface between Perl and the statfs() system call. This module will only install if you are using Darwin or certain BSD systems that dont have statvfs(). SYNOPSIS Filesys::Statfs use Filesys::Statfs; my($ftype, $bsize, $blocks, $bfree, $files, $ffree, $bavail) = statfs("/tmp"); Filesys::Statvfs provides an interface between Perl and the statvfs() system call. SYNOPSIS Filesys::Statvfs use Filesys::Statvfs; my($bsize, $frsize, $blocks, $bfree, $bavail, $files, $ffree, $favail, $fsid, $basetype, $flag, $namemax, $fstr) = statvfs("/tmp"); Filesys::Df uses Filesys::Statvfs to obtain filesystem statistics then creates additional filesystem information such as percent full, user and superuser differentials, etc. If the system does not contain the statvfs() call (Darwin or certain BSD OSes). The Makefile will try to use the Filesys::Statfs module instead. This should be abstract for the user. Filesys::Df will also let you specify the block size for the values you wish to see. The default block size output is 1024 bytes per block. So if you want to get the size in bytes just take the block size and * it by 1024. SYNOPSIS Filesys::Df use Filesys::Df; my $ref = df("/tmp"); # Default block size of 1024 bytes. # You can specify a different block # as a second argument. print"Percent Full: $ref->{per}\n"; print"Total Blocks: $ref->{blocks}\n"; print"Blocks Available: $ref->{bavail}\n"; print"Blocks Used: $ref->{used}\n"; print"Inode Percent full: $ref->{fper}\n"; print"Inodes Free: $ref->{favail}\n"; print"Inodes Used: $ref->{fused}\n"; print"Total Bytes", ($ref->{blocks} * 1024), "\n"; #These are just some of the keys that are available. #See the documentation for the others. INSTALL TO INSTALL RUN: perl Makefile.PL make make test make install For this module to install and work properly you will need to have the statvfs() system call on your system. If you are using some BSD versions or Darwin it will work with the statfs() system call. A good way to tell if your system has the statvfs() system call is to look for the sys/statvfs.h header in your include directory (Usually /usr/include/). Same goes for statfs(). If there is an error during the 'make', it is possible that you do not have statvfs() on your system. Another possible reason may be that the statvfs structure defined in statvfs.h does not contain one or more of the fields that are defined in Statvfs.xs. This also applies to statfs(). During the 'make test' test.pl will use statvfs() or statfs() to stat the root directory "/". If it fails it will report an error, otherwise it will report all the standard fields in the structure. If you are running any flavor of Digital Unix, or IRIX, the fstr value may be NULL. The 'make test' will then proceed to test df() call. Once installed, run 'perldoc Filesys::Df' for more information. If you have any problems or questions please email me at IGuthrie@aol.com with "Filesys Module" in the subject line. Copyright (c) 2004 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.