---
name: "Dancer::FileUtils"
section: "3pm"
platform: "linux"
package: "libdancer-perl"
version: "1.3521+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Dancer::FileUtils"
---

# Dancer::FileUtils(3pm)

helper providing file utilities

## NAME

Dancer::FileUtils - helper providing file utilities

## VERSION

version 1.3521

## SYNOPSIS

```
    use Dancer::FileUtils qw/dirname path/;
    # for 'path/to/file'
    my $dir  = dirname($path); # returns 'path/to'
    my $path = 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 separate 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**.

### 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

Dancer Core Developers

## COPYRIGHT AND LICENSE

This software is copyright (c) 2010 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.
