NAME

Dancer::FileUtils - helper providing file utilities

SYNOPSIS

use Dancer::FileUtils qw/dirname real_path/;

# for 'path/to/file'
my $dir=dirname ($path); #returns 'path/to'
my $real_path=real_path ($path); #returns '/abs/path/to/file'


use Dancer::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 Dancer::FileUtils qw/read_glob_content set_file_mode/;

open my $fh, '<', $file or die "$!\n";
set_file_mode ($fh);
my @content = read_file_content($fh);
my $content = read_file_content($fh);

DESCRIPTION

Dancer::FileUtils includes a few file related utilities related that Dancer uses internally. Developers may use it instead of writing their own file reading subroutines or using additional modules.

SUBROUTINES/METHODS

dirname

use Dancer::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.

open_file

use Dancer::FileUtils 'open_file';
my $fh = open_file('<', $file) or die $message;

Calls open and returns a filehandle. Takes in account the 'charset' setting from Dancer's configuration to open the file in the proper encoding (or defaults to utf-8 if setting not present).

path

use Dancer::FileUtils 'path';

my $path = path( 'folder', 'folder', 'filename');

Provides comfortable path resolving, internally using File::Spec.

read_file_content

use Dancer::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), undef if the file could not be opened.

In array context it returns each line (as defined by $/) as a seperate element; in scalar context returns the entire contents of the file.

read_glob_content

use Dancer::FileUtils 'read_glob_content';

open my $fh, '<', $file or die "$!\n";
my @content = read_glob_content($fh);
my $content = read_glob_content($fh);

Same as read_file_content, only it accepts a file handle. Returns the content and closes the file handle.

real_path

use Dancer::FileUtils 'real_path';

my $real_path=real_path ($path);

Returns a canonical and absolute path. Uses Cwd's realpath internally which resolves symbolic links and relative-path components ("." and ".."). If specified path does not exist, real_path returns nothing.

set_file_mode

use Dancer::FileUtils 'set_file_mode';

set_file_mode($fh);

Applies charset setting from Dancer's configuration. Defaults to utf-8 if no charset setting.

EXPORT

Nothing by default. You can provide a list of subroutines to import.

AUTHOR

Alexis Sukrieh

LICENSE AND COPYRIGHT

Copyright 2009-2011 Alexis Sukrieh.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.