dwww Home | Manual pages | Find package

FnMatch(3pm)          User Contributed Perl Documentation         FnMatch(3pm)

NAME
       File::FnMatch - simple filename and pathname matching

SYNOPSIS
         use File::FnMatch qw(:fnmatch);    # import everything

         # shell-style: match "/a/bc", but not "/a/.bc" nor "/a/b/c"
         fnmatch("/a/*", $fn, FNM_PATHNAME|FNM_PERIOD);

         # find our A- executables only
         grep { fnmatch("A-*.exe", $_) } readdir SOMEDIR;

DESCRIPTION
       File::FnMatch::fnmatch() provides simple, shell-like pattern matching.

       Though considerably less powerful than regular expressions, shell
       patterns are nonetheless useful and familiar to a large audience of
       end-users.

   Functions
       fnmatch ( PATTERN, STRING [, FLAGS] )
           Returns true if PATTERN matches STRING, undef otherwise.  FLAGS may
           be the bitwise OR'ing of any supported FNM_* constants (see below).

   Constants
       FNM_NOESCAPE
           Do not treat a backslash ('\') in PATTERN specially.  Otherwise, a
           backslash escapes the following character.

       FNM_PATHNAME
           Prohibit wildcards from matching a slash ('/').

       FNM_PERIOD
           Prohibit wildcards from matching a period ('.') at the start of a
           string and, if FNM_PATHNAME is also given, immediately after a
           slash.

       Other possibilities include at least FNM_CASEFOLD (compare "qr//i"),
       FNM_LEADING_DIR to restrict matching to everything before the first
       '/', FNM_FILE_NAME as a synonym for FNM_PATHNAME, and the rather more
       exotic FNM_EXTMATCH.  Consult your system documentation for details.

   EXPORT
       None by default.  The export tag ":fnmatch" exports the fnmatch
       function and all available FNM_* constants.

PATTERN SYNTAX
       Wildcards are the question mark ('?') to match any single character and
       the asterisk ('*') to match zero or more characters.  FNM_PATHNAME and
       FNM_PERIOD restrict the scope of the wildcards, notably supporting the
       UNIX convention of concealing "dotfiles":

       Bracket expressions, enclosed by '[' and ']', match any of a set of
       characters specified explicitly ("[abcdef]"), as a range ("[a-f0-9]"),
       or as the combination these ("[a-f0-9XYZ]").  Additionally, many
       implementations support named character classes such as "[[:xdigit:]]".
       Character sets may be negated with an initial '!' ("[![:space:]]").

       Locale influences the meaning of fnmatch() patterns.

CAVEATS
       Most UNIX-like systems provide an fnmatch implementation.  This module
       will not work on platforms lacking an implementation, most notably
       Win32.

SEE ALSO
       File::Glob, POSIX::setlocale, fnmatch(3)

AUTHOR
       Michael J. Pomraning

       Please report bugs to <mjp-perl AT pilcrow.madison.wi.us>

COPYRIGHT AND LICENSE
       Copyright 2005 by Michael J. Pomraning

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

perl v5.36.0                      2022-10-19                      FnMatch(3pm)

Generated by dwww version 1.15 on Wed Jun 26 06:31:42 CEST 2024.