Filesys::DiskUsage - Estimate file space usage (similar to `du`)

SYNOPSIS

use Filesys::DiskUsage qw/du/;

# basic
$total = du(qw/file1 file2 directory1/);

or

# no recursion
$total = du( { recursive => 0 } , <*> );

or

# max-depth is 1
$total = du( { 'max-depth' => 1 } , <*> );

or

# get an array
@sizes = du( @files );

or

# get a hash
%sizes = du( { 'make-hash' => 1 }, @files_and_directories );

FUNCTIONS

du

Estimate file space usage.

Get the size of files:

$total = du(qw/file1 file2/);

Get the size of directories:

$total = du(qw/file1 directory1/);
OPTIONS

dereference

  • Follow symbolic links. Default is 0. Overrides symlink-size.

    Get the size of a directory, recursively, following symbolic links:

    $total = du( { dereference => 1 } , $dir );
  • exclude => PATTERN
  • Exclude files that match PATTERN.

    Get the size of every file except for dot files:

    $total = du( { exclude => qr/^\./ } , @files );
  • human-readable
  • Return sizes in human readable format (e.g., 1K 234M 2G)

    $total = du ( { 'human-readable' => 1 } , @files );
  • Human-readable
  • Return sizes in human readable format, but use powers of 1000 instead of 1024.

    $total = du ( { 'Human-readable' => 1 } , @files );
  • make-hash
  • Return the results in a hash.

    %sizes = du( { 'make-hash' => 1 } , @files );
  • max-depth
  • Sets the max-depth for recursion. A negative number means there is no max-depth. Default is -1.

    Get the size of every file in the directory and immediate subdirectories:

    $total = du( { 'max-depth' => 1 } , <*> );
  • recursive
  • Sets whether directories are to be explored or not. Set to 0 if you don't want recursion. Default is 1. Overrides max-depth.

    Get the size of every file in the directory, but not directories:

    $total = du( { recursive => 0 } , <*> );
  • sector-size => NUMBER
  • All file sizes are rounded up to a multiple of this number. Any file that is not an exact multiple of this size will be treated as the next multiple of this number as they would in a sector-based file system. Common values will be 512 or 1024. Default is 1 (no sectors).

    $total = du( { sector-size => 1024 }, <*> );
  • symlink-size => NUMBER
  • Symlinks are assumed to be this size. Without this option, symlinks are ignored unless dereferenced. Setting this option to 0 will result in the files showing up in the hash, if make-hash is set, with a size of 0. Setting this option to any other number will treat the size of the symlink as this number. This option is ignored if the dereference option is set.

    $total = du( { symlink-size => 1024, sector-size => 1024 }, <*> );
  • truncate-readable => NUMBER
  • Human readable formats decimal places are truncated by the value of this option. A negative number means the result won't be truncated at all. Default if 2.

    Get the size of a file in human readable format with three decimal places:

    $size = du( { 'human-readable' => 1 , 'truncate-readable' => 3 } , $file);
  • AUTHOR

    Jose Castro, <cog@cpan.org>

    BUGS

    Please report any bugs or feature requests to bug-disk-usage@rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

    COPYRIGHT & LICENSE

    Copyright 2004 Jose Castro, All Rights Reserved.

    This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


    If published informations are not helpfull, something is missing or wrong, please report. Thanx for contribution.
    This content is generated from file 'http://svn.cyclone3.org/trunk/frame/.core/.libs/Filesys/DiskUsage.pm'

    AddThis Social Bookmark Button RSS

    User Comments