Provided by: libdancer2-perl_0.205002+dfsg-2_all
NAME
Dancer2::FileUtils - File utility helpers
VERSION
version 0.205002
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); my $escaped_filename = escape_filename( $filename ); Escapes characters in a filename that may alter a path when concatenated. use Dancer2::FileUtils 'escape_filename'; 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) 2017 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.