BBC (British Broadcasting Corporation) > File-Policy-1.005 > File::Policy::Simple

Download:
File-Policy-1.005.tar.gz

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Source  

NAME ^

File::Policy::Simple - Simple policy for file I/O functions

SYNOPSIS ^

        use File::Policy;
        use File::Policy qw/check_safe/;   # to import a specific subroutine
        use File::Policy qw/:all/;         # to import all subroutines

        # Ensure File::Policy::Config is updated with the appropriate
        # default policy.  For example
        #               package File::Policy::Config;
        #               use constant IMPLEMENTATION => 'Simple';
        #               1; 

        #Checking I/O policy
        check_safe($filename, 'r'); # Check it is okay for reading
        check_safe($filename, 'w'); # Check it is okay for writing to
        check_safe($filename, 'a'); # Check it is okay for both reading & writing

        #Portable directory locations
        $logdir = get_log_dir();
        $tmpdir = get_temp_dir();

DESCRIPTION ^

This defines a simple policy for file I/O with modules such as File::Slurp::WithinPolicy.

Use IN NO WAY implies any safety to your file I/O, it is simply provided to help demonstrate how you might implement a File Policy at your site.

FUNCTIONS ^

check_safe
        check_safe( FILENAME , MODE );

Checks a filename is safe - dies if not. MODE is r, w, or a

Using File::Policy::Simple will prevent code that calls check_safe from:

* Writing to any file under /etc/ * Reading from /etc/passwd or /etc/shadow * Accessing in any way a .configuration file in a users home directory

get_temp_dir
        $temporary_directory = get_temp_dir();

Returns the path to temporary directory from the TEMP environment variable or File::Spec::Functions::tmpdir(). Note that any return value will have been cleared of a trailing slash.

get_log_dir
        $log_directory = get_log_dir();

Returns the path to log directory from the LOGDIR environment variable or the current directory. Note that any return value will have been cleared of a trailing slash.

VERSION ^

$Revision: 1.1 $ on $Date: 2005/05/18 15:56:45 $ by $Author: johna $

AUTHOR ^

Murray Walker <cpan _at_ bbc _dot_ co _dot_ uk>

COPYRIGHT ^

(c) BBC 2005. This program is free software; you can redistribute it and/or modify it under the GNU GPL.

See the file COPYING in this distribution, or http://www.gnu.org/licenses/gpl.txt

syntax highlighting: