1 .\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.10)
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
9 .de Vb \" Begin verbatim text
14 .de Ve \" End verbatim text
18 .\" Set up some character translations and predefined strings. \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD. Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
53 . tm Index:\\$1\t\\n%\t"\\$2"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
65 . \" fudge factors for nroff and troff
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 . \" simple accents for nroff and troff
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
97 . \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 . \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 . \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
124 .\" ========================================================================
126 .IX Title "Text::Glob 3"
127 .TH Text::Glob 3 "2007-05-02" "perl v5.8.7" "User Contributed Perl Documentation"
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
133 Text::Glob \- match globbing patterns against text
135 .IX Header "SYNOPSIS"
137 \& use Text::Glob qw( match_glob glob_to_regex );
139 \& print "matched\en" if match_glob( "foo.*", "foo.bar" );
141 \& # prints foo.bar and foo.baz
142 \& my $regex = glob_to_regex( "foo.*" );
143 \& for ( qw( foo.bar foo.baz foo bar ) ) {
144 \& print "matched: $_\en" if /$regex/;
148 .IX Header "DESCRIPTION"
149 Text::Glob implements \fIglob\fR\|(3) style matching that can be used to match
150 against text, rather than fetching names from a filesystem. If you
151 want to do full file globbing use the File::Glob module instead.
153 .IX Subsection "Routines"
154 .ie n .IP "match_glob( $glob, @things_to_test )" 4
155 .el .IP "match_glob( \f(CW$glob\fR, \f(CW@things_to_test\fR )" 4
156 .IX Item "match_glob( $glob, @things_to_test )"
157 Returns the list of things which match the glob from the source list.
158 .ie n .IP "glob_to_regex( $glob )" 4
159 .el .IP "glob_to_regex( \f(CW$glob\fR )" 4
160 .IX Item "glob_to_regex( $glob )"
161 Returns a compiled regex which is the equiavlent of the globbing
163 .ie n .IP "glob_to_regex_string( $glob )" 4
164 .el .IP "glob_to_regex_string( \f(CW$glob\fR )" 4
165 .IX Item "glob_to_regex_string( $glob )"
166 Returns a regex string which is the equiavlent of the globbing
170 The following metacharacters and rules are respected.
171 .ie n .IP """*"" \- match zero or more characters" 4
172 .el .IP "\f(CW*\fR \- match zero or more characters" 4
173 .IX Item "* - match zero or more characters"
174 \&\f(CW\*(C`a*\*(C'\fR matches \f(CW\*(C`a\*(C'\fR, \f(CW\*(C`aa\*(C'\fR, \f(CW\*(C`aaaa\*(C'\fR and many many more.
175 .ie n .IP """?"" \- match exactly one character" 4
176 .el .IP "\f(CW?\fR \- match exactly one character" 4
177 .IX Item "? - match exactly one character"
178 \&\f(CW\*(C`a?\*(C'\fR matches \f(CW\*(C`aa\*(C'\fR, but not \f(CW\*(C`a\*(C'\fR, or \f(CW\*(C`aa\*(C'\fR
179 .IP "Character sets/ranges" 4
180 .IX Item "Character sets/ranges"
181 \&\f(CW\*(C`example.[ch]\*(C'\fR matches \f(CW\*(C`example.c\*(C'\fR and \f(CW\*(C`example.h\*(C'\fR
183 \&\f(CW\*(C`demo.[a\-c]\*(C'\fR matches \f(CW\*(C`demo.a\*(C'\fR, \f(CW\*(C`demo.b\*(C'\fR, and \f(CW\*(C`demo.c\*(C'\fR
185 .IX Item "alternation"
186 \&\f(CW\*(C`example.{foo,bar,baz}\*(C'\fR matches \f(CW\*(C`example.foo\*(C'\fR, \f(CW\*(C`example.bar\*(C'\fR, and
187 \&\f(CW\*(C`example.baz\*(C'\fR
188 .IP "leading . must be explictly matched" 4
189 .IX Item "leading . must be explictly matched"
190 \&\f(CW\*(C`*.foo\*(C'\fR does not match \f(CW\*(C`.bar.foo\*(C'\fR. For this you must either specify
191 the leading . in the glob pattern (\f(CW\*(C`.*.foo\*(C'\fR), or set
192 \&\f(CW$Text::Glob::strict_leading_dot\fR to a false value while compiling
194 .ie n .IP """*"" and ""?"" do not match /" 4
195 .el .IP "\f(CW*\fR and \f(CW?\fR do not match /" 4
196 .IX Item "* and ? do not match /"
197 \&\f(CW\*(C`*.foo\*(C'\fR does not match \f(CW\*(C`bar/baz.foo\*(C'\fR. For this you must either
198 explicitly match the / in the glob (\f(CW\*(C`*/*.foo\*(C'\fR), or set
199 \&\f(CW$Text::Glob::strict_wildcard_slash\fR to a false value with compiling
203 The code uses qr// to produce compiled regexes, therefore this module
204 requires perl version 5.005_03 or newer.
207 Richard Clamp <richardc@unixbeard.net>
209 .IX Header "COPYRIGHT"
210 Copyright (C) 2002, 2003, 2006, 2007 Richard Clamp. All Rights Reserved.
212 This module is free software; you can redistribute it and/or modify it
213 under the same terms as Perl itself.
215 .IX Header "SEE ALSO"
216 File::Glob, \fIglob\fR\|(3)