.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "File::Zglob 3pm" .TH File::Zglob 3pm "2012-06-15" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" File::Zglob \- Extended globs. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use File::Zglob; \& \& my @files = zglob(\*(Aq**/*.{pm,pl}\*(Aq); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fB\s-1WARNINGS:\s0 \s-1THIS\s0 \s-1IS\s0 \s-1ALPHA\s0 \s-1VERSION\s0. \s-1API\s0 \s-1MAY\s0 \s-1CHANGE\s0 \s-1WITHOUT\s0 \s-1NOTICE\s0\fR .PP Provides a traditional Unix \fIglob\fR\|(3) functionality; returns a list of pathnames that matches the given pattern. .PP File::Zglob provides extended glob. It supports \f(CW\*(C`**/*.pm\*(C'\fR form. .SH "FUNCTIONS" .IX Header "FUNCTIONS" .IP "zglob($pattern) # => list of matched files" 4 .IX Item "zglob($pattern) # => list of matched files" .Vb 1 \& my @files = zglob(\*(Aq**/*.[ch]\*(Aq); .Ve .Sp Unlike shell's glob, if there's no matching pathnames, () is returned. .SH "Special chars" .IX Header "Special chars" A glob pattern also consists of components and separator characters. In a component, following characters/syntax have special meanings. .ie n .IP """*""" 4 .el .IP "\f(CW*\fR" 4 .IX Item "*" When it appears at the beginning of a component, it matches zero or more characters except a period (.). And it won't match if the component of the input string begins with a period. .Sp Otherwise, it matches zero or more sequence of any characters. .ie n .IP """**""" 4 .el .IP "\f(CW**\fR" 4 .IX Item "**" If a component is just **, it matches zero or more number of components that match *. For example, src/**/*.h matches all of the following patterns. .Sp .Vb 5 \& src/*.h \& src/*/*.h \& src/*/*/*.h \& src/*/*/*/*.h \& ... .Ve .ie n .IP """?""" 4 .el .IP "\f(CW?\fR" 4 .IX Item "?" When it appears at the beginning of a component, it matches a character except a period (.). Otherwise, it matches any single character. .ie n .IP """[chars]""" 4 .el .IP "\f(CW[chars]\fR" 4 .IX Item "[chars]" Specifies a character set. Matches any one of the set. The syntax of chars is the same as perl's character set syntax. .ie n .IP """{pm,pl}""" 4 .el .IP "\f(CW{pm,pl}\fR" 4 .IX Item "{pm,pl}" There is alternation. .Sp \&\*(L"example.{foo,bar,baz}\*(R" matches \*(L"example.foo\*(R", \*(L"example.bar\*(R", and \*(L"example.baz\*(R" .SH "zglob and deep recursion" .IX Header "zglob and deep recursion" \&\f(CW\*(C`**/*\*(C'\fR form makes deep recursion by soft link. zglob throw exception if it's deep recursion. .SH "PORTABILITY" .IX Header "PORTABILITY" .IP "Win32" 4 .IX Item "Win32" Zglob supports Win32. \fIzglob()\fR only uses '/' as a path separator. Since \fIzglob()\fR accepts non\-utf8 strings. \s-1CP932\s0 contains '\e' character as a second byte of multibyte chars. .SH "LIMITATIONS" .IX Header "LIMITATIONS" .IP "File order is not compatible with shells." 4 .IX Item "File order is not compatible with shells." .SH "AUTHOR" .IX Header "AUTHOR" Tokuhiro Matsuno .SH "THANKS TO" .IX Header "THANKS TO" Most code was translated from gauche's fileutil.scm. .PP glob_to_regex function is taken from Text::Glob. .SH "SEE ALSO" .IX Header "SEE ALSO" File::DosGlob, Text::Glob, gauche's fileutil.scm .SH "LICENSE" .IX Header "LICENSE" Copyright (C) Tokuhiro Matsuno .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.