NAME¶
Dancer2::FileUtils - File utility helpers
VERSION¶
version 0.152000
SYNOPSIS¶
use Dancer2::FileUtils qw/dirname path path_or_empty/;
# 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
use Dancer2::FileUtils qw/path read_file_content/;
my $content = read_file_content( path( 'folder', 'folder', 'file' ) );
my @content = read_file_content( path( 'folder', 'folder', 'file' ) );
use Dancer2::FileUtils qw/read_glob_content set_file_mode/;
open my $fh, '<', $file or die "$!\n";
set_file_mode($fh);
my @content = read_glob_content($fh);
my $content = read_glob_content($fh);
use Dancer2::FileUtils qw/open_file/;
my $fh = open_file('<', $file) or die $message;
use Dancer2::FileUtils 'set_file_mode';
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¶
use Dancer2::FileUtils '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);¶
use Dancer2::FileUtils 'set_file_mode';
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;¶
use Dancer2::FileUtils 'open_file';
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);¶
use Dancer2::FileUtils 'read_file_content';
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);¶
use Dancer2::FileUtils 'read_glob_content';
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);¶
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) 2014 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.