NAME
    App::FilenameUtils - CLIs for Filename::*

VERSION
    This document describes version 0.002 of App::FilenameUtils (from Perl
    distribution App-FilenameUtils), released on 2020-10-21.

SYNOPSIS
DESCRIPTION
    This distribution includes several utilities related to Filename::*
    modules:

    *   check-archive-filename

    *   check-audio-filename

    *   check-backup-filename

    *   check-compressed-filename

    *   check-ebook-filename

    *   check-executable-filename

    *   check-image-filename

    *   check-media-filename

    *   check-video-filename

FUNCTIONS
  check_archive_filename
    Usage:

     check_archive_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being an archive file.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   ci => *bool* (default: 1)

        Whether to match case-insensitively.

    *   detail => *bool*

    *   filename* => *str*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (bool|hash)

    Return false if no archive suffixes detected. Otherwise return a hash of
    information, which contains these keys: "archive_name",
    "archive_suffix", "compressor_info".

  check_audio_filename
    Usage:

     check_audio_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being an audio file.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   detail => *bool*

    *   filename* => *filename*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (bool|hash)

    Return false if no archive suffixes detected. Otherwise return a hash of
    information.

  check_backup_filename
    Usage:

     check_backup_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being a backup file.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   ci => *bool* (default: 1)

        Whether to match case-insensitively.

    *   detail => *bool*

    *   filename* => *str*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (bool|hash)

    Return false if not detected as backup name. Otherwise return a hash,
    which may contain these keys: "original_filename". In the future there
    will be extra information returned, e.g. editor name (if filename
    indicates backup from certain backup program), date (if filename
    contains date information), and so on.

  check_compressed_filename
    Usage:

     check_compressed_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being compressed.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   ci => *bool* (default: 1)

        Whether to match case-insensitively.

    *   detail => *bool*

    *   filename* => *str*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (bool|hash)

    Return false if no compressor suffixes detected. Otherwise return a hash
    of information, which contains these keys: "compressor_name",
    "compressor_suffix", "uncompressed_filename".

  check_ebook_filename
    Usage:

     check_ebook_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being an e-book.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   ci => *bool* (default: 1)

        Whether to match case-insensitively.

    *   detail => *bool*

    *   filename* => *str*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (any)

  check_executable_filename
    Usage:

     check_executable_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being an executable program/script.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   ci => *bool* (default: 1)

        Whether to match case-insensitively.

    *   detail => *bool*

    *   filename* => *str*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (bool|hash)

    Return false if no archive suffixes detected. Otherwise return a hash of
    information, which contains these keys: "exec_type", "exec_ext",
    "exec_name".

  check_image_filename
    Usage:

     check_image_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being an image.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   detail => *bool*

    *   filename* => *filename*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (bool|hash)

    Return false if no archive suffixes detected. Otherwise return a hash of
    information.

  check_media_filename
    Usage:

     check_media_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being a media (audio/video/image) file.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   detail => *bool*

    *   filename* => *filename*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (bool|hash)

    Return false if no archive suffixes detected. Otherwise return a hash of
    information.

  check_video_filename
    Usage:

     check_video_filename(%args) -> [status, msg, payload, meta]

    Check whether filename indicates being a video file.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   detail => *bool*

    *   filename* => *filename*

    *   quiet => *bool*

    Returns an enveloped result (an array).

    First element (status) is an integer containing HTTP status code (200
    means OK, 4xx caller error, 5xx function error). Second element (msg) is
    a string containing error message, or 'OK' if status is 200. Third
    element (payload) is optional, the actual result. Fourth element (meta)
    is called result metadata and is optional, a hash that contains extra
    information.

    Return value: (bool|hash)

    Return false if no archive suffixes detected. Otherwise return a hash of
    information.

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/App-FilenameUtils>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-App-FilenameUtils>.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=App-FilenameUtils>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.

SEE ALSO
    Filename::Archive, Filename::Audio, etc.

AUTHOR
    perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE
    This software is copyright (c) 2020 by perlancar@cpan.org.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.