Scroll to navigation

NetSDS::Util::File(3pm) User Contributed Perl Documentation NetSDS::Util::File(3pm)

NAME

NetSDS::Util::File - file related utilities

SYNOPSIS

        use NetSDS::Util::File qw(file_read);
        my $passwd = file_read('/etc/passwd');
        file_move('/etc/passwd', '/tmp/find_this');

DESCRIPTION

"NetSDS::Util::File" module contains some routines for files and directories processing tasks like creating, reading, writing, copying and moving files and catalogs.
This module of cource uses such well known things like File::Spec, File::Path, File::Copy and others.

EXPORTED FUNCTIONS

is_handle($var) - check if argument is a file handle
Paramters: some variable
 
Returns: 1 if it's file handle or undef otherwise
 
        if (is_handle($var)) {
                reset_handle($fh);
        }
    
reset_handle($fh) - reset file handle
Paramters: file handle
 
Returns: nothing
 
This function tries to set filehandle to begin of file and set binmode on it.
 
        my $fh = file_open('/etc/passwd');
        ...
        do something with file
        ...
        reset_handle($fh); # We can read it from the beginning
    
file_open($file) - open file
Paramters: file name or file handle
 
Returns: file handle
 
This function provides unified API for opening files.
 
        my $f = file_open('/etc/passwd');
    
file_read($file) - read file to scalar
Paramters: file name or file handle
 
Returns: scalar content of file
 
This function provides ability to read file content to scalar variable.
 
        my $data = file_read('/etc/passwd');
        print "Passwords file: $data\n";
    
file_write($file, $data) - write scalar data to file
Paramters: file name or open file handle
 
Returns: length of written data or undef in case of error
 
        my $data = 'This should be file';
        file_write('/tmp/file.dat', $data);
    
file_copy($in_file, $out_file) - copy file
Paramters: input file name, output file name
 
Returns:
 
This function copy file to new location.
file_move($in_file, $out_file) - move file
Paramters: input file name, output file name
 
Returns: 1 or undef
 
This function moves old file to new location.
file_temp($dir) - create temporary file
Creates new temp file and return its handle
dir_create($dir) - create directory with parents
Paramters: directory name
 
Returns: directory name or undef
 
        # Will create all parent catalogs if necessary
        dir_create('/var/log/NetSDS/xxx');
    
dir_delete($dir) - remove directory recursive
Paramters: directory name
 
Returns: dir name or undef if error
 
        print "We need no libs!";
        dir_delete('/usr/lib');
    
dir_read($dir, $ext) - read files list from catalog
Paramters: directory name, extension of files to read
 
Returns: list of files in catalog
 
        my @logs = @{ dir_read('/var/log/httpd', 'log') };
        print "Logs are: " . join (', ', @logs);
    
dir_read_recursive($dir, $ext, [$res]) - read all files list recursive
Paramters: $start catalog, $extension
 
Returns: list of files with extension from parameters
 
        my $tpls = dir_read_recursive('/etc/NetSDS', 'tmpl');
        foreach my $tpl (@$tpls) {
                pritn "Template: $tpl\n";
        }
    
exec_external($prog, [$param1, ... $paramN]) - execute external program
Paramters: pragram name, arguments list (see perldoc -f system)
 
Returns: 1 if ok, undef otherwise
 
This function calls system() with given parameters and returns 1 if everything happened correctly (program executed and returned correct result).
 
        if (exec_external('/bin/rm', '-rf', '/')) {
                print "Hey! We removed the world!";
        }
    

EXAMPLES

None yet

BUGS

Unknown yet

SEE ALSO

IO::Handle, IO::Scalar, IO::File, File::Spec, File::Copy, File::Path, system()

TODO

1. Implement more detailed error handling

AUTHOR

Valentyn Solomko <pere@pere.org.ua>
Michael Bochkaryov <misha@rattler.kiev.ua>
2011-08-27 perl v5.12.4