MDK::Common::File
NAME
SYNOPSIS
EXPORTS
SEE ALSO
NAME
MDK::Common::File − miscellaneous file/filename manipulation functions
SYNOPSIS
use MDK::Common::File qw(:all);
EXPORTS
dirname( FILENAME )
basename( FILENAME )
returns the dirname/basename of the file name
cat_( FILES )
returns the files contents: in scalar context it returns a single string, in array context it returns the lines.
If no file is found, undef is returned
cat_or_die( FILENAME )
same as “cat_” but dies when something goes wrong
cat_utf8( FILES )
same as C(
cat_utf8_or_die( FILES )
same as C(
cat__( FILEHANDLE REF )
returns the file content: in scalar context it returns a single string, in array context it returns the lines
output( FILENAME, LIST )
creates a file and outputs the list (if the file exists, it is clobbered)
output_utf8( FILENAME, LIST )
same as C(
secured_output( FILENAME, LIST )
likes output() but prevents insecured usage (it dies if somebody try to exploit the race window between unlink() and creat())
append_to_file( FILENAME, LIST )
add the LIST at the end of the file
output_p( FILENAME, LIST )
just like “output” but creates directories if needed
output_with_perm( FILENAME, PERMISSION, LIST )
same as “output_p” but sets FILENAME permission to PERMISSION (using chmod)
mkdir_p( DIRNAME )
creates the directory (make parent directories as needed)
rm_rf( FILES )
remove the files (including sub-directories)
cp_f( FILES, DEST )
just like “cp −f”
cp_af( FILES, DEST )
just like “cp −af”
cp_afx( FILES, DEST )
just like “cp −afx”
linkf( SOURCE, DESTINATION )
symlinkf( SOURCE, DESTINATION )
renamef( SOURCE, DESTINATION )
same as link/symlink/rename but removes the destination file first
touch( FILENAME )
ensure the file exists, set the modification time to current time
all( DIRNAME )
returns all the file in directory (except “.” and “..”)
all_files_rec( DIRNAME )
returns all the files in directory and the sub-directories (except “.” and “..”)
glob_( STRING )
simple version of “glob”: doesn’t handle wildcards in directory (eg: */foo.c), nor special constructs (eg: [0−9] or {a,b})
substInFile { CODE } FILENAME
executes the code for each line of the file. You can know the end of the file is reached using “eof”
expand_symlinks( FILENAME )
expand the symlinks in the absolute filename: “expand_symlinks(“/etc/X11/X”)” gives “/usr/bin/Xorg”
openFileMaybeCompressed( FILENAME )
opens the file and returns the file handle. If the file is not found, tries to gunzip the file + .gz
catMaybeCompressed( FILENAME )
cat_ alike. If the file is not found, tries to gunzip the file + .gz
SEE ALSO
MDK::Common