#!/usr/local/bin/perl -w use strict; # # A version of 'df' which produces the same output on any system # use Filesys::DiskFree; # # Create a df handle # my $df = new Filesys::DiskFree; # # Call the actual df command # $df->df(); my $disk; # # Output the information # my $percent; foreach $disk(sort($df->disks)){ my $total=($df->used($disk)+$df->avail($disk)); $percent=0; if($total != 0){ $percent=sprintf("%2.0f",($df->used($disk)/$total)*100); } write; } # # Format for the header # format STDOUT_TOP = Filesystem 1024-blocks Used Available Capacity Mounted on . # # Format for each data item, notice the /1024's, all sizes are stored in bytes # for portablity # format STDOUT = @<<<<<<<<<<<<<<<<<< @>>>>>>> @>>>>>> @>>>>>>> @>>% @<<<<<<<<<<<<<<<<<<<<<<< $df->device($disk), $df->total($disk)/1024, $df->used($disk)/1024,$df->avail($disk)/1024, $percent,$df->mount($disk) .