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.40.0                       2024-10-15                      FnMatch(3pm)

Generated by dwww version 1.16 on Tue Dec 16 05:53:12 CET 2025.