NAME
Dancer2::FileUtils - File utility helpers
VERSION
version 0.166001_04
SYNOPSIS
# for 'path/to/file'
my
$dir
= dirname(
$path
);
# returns 'path/to'
my
$path
= path(
$path
);
# returns '/abs/path/to/file'
my
$path
= path_or_empty(
$path
);
# returns '' if file doesn't exist
my
$content
= read_file_content( path(
'folder'
,
'folder'
,
'file'
) );
my
@content
= read_file_content( path(
'folder'
,
'folder'
,
'file'
) );
open
my
$fh
,
'<'
,
$file
or
die
"$!\n"
;
set_file_mode(
$fh
);
my
@content
= read_glob_content(
$fh
);
my
$content
= read_glob_content(
$fh
);
my
$fh
= open_file(
'<'
,
$file
) or
die
$message
;
set_file_mode(
$fh
);
DESCRIPTION
Dancer2::FileUtils includes a few file related utilities that Dancer2 uses internally. Developers may use it instead of writing their own file reading subroutines or using additional modules.
FUNCTIONS
my $path = path( 'folder', 'folder', 'filename');
Provides comfortable path resolution, internally using File::Spec. 'path' does not verify paths, it just normalizes the path.
my $path = path_or_empty('folder, 'folder','filename');
Like path, but returns '' if path doesn't exist.
dirname
my
$dir
= dirname(
$path
);
Exposes File::Basename's dirname, to allow fetching a directory name from a path. On most OS, returns all but last level of file path. See File::Basename for details.
set_file_mode($fh);
set_file_mode(
$fh
);
Applies charset setting from Dancer2's configuration. Defaults to utf-8 if no charset setting.
my $fh = open_file('<', $file) or die $message;
my
$fh
= open_file(
'<'
,
$file
) or
die
$message
;
Calls open and returns a filehandle. Takes in account the 'charset' setting from Dancer2's configuration to open the file in the proper encoding (or defaults to utf-8 if setting not present).
my $content = read_file_content($file);
my
@content
= read_file_content(
$file
);
my
$content
= read_file_content(
$file
);
Returns either the content of a file (whose filename is the input), or undef if the file could not be opened.
In array context it returns each line (as defined by $/) as a separate element; in scalar context returns the entire contents of the file.
my $content = read_glob_content($fh);
open
my
$fh
,
'<'
,
$file
or
die
"$!\n"
;
binmode
$fh
,
':encoding(utf-8)'
;
my
@content
= read_glob_content(
$fh
);
my
$content
= read_glob_content(
$fh
);
Similar to read_file_content, only it accepts a file handle. It is assumed that the appropriate PerlIO layers are applied to the file handle. Returns the content and closes the file handle.
my $norm_path=normalize_path ($path);
my $escaped_filename = escape_filename( $filename );
Escapes characters in a filename that may alter a path when concatenated.
my
$safe
= escape_filename(
"a/../b.txt"
);
# a+2f+2e+2e+2fb+2etxt
EXPORT
Nothing by default. You can provide a list of subroutines to import.
AUTHOR
Dancer Core Developers
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by Alexis Sukrieh.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.