Unix/Linux Go Back    

CentOS 7.0 - man page for text::glob (centos section 3)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

Text::Glob(3)		       User Contributed Perl Documentation		    Text::Glob(3)

       Text::Glob - match globbing patterns against text

	use Text::Glob qw( match_glob glob_to_regex );

	print "matched\n" if match_glob( "foo.*", "foo.bar" );

	# prints foo.bar and foo.baz
	my $regex = glob_to_regex( "foo.*" );
	for ( qw( foo.bar foo.baz foo bar ) ) {
	    print "matched: $_\n" if /$regex/;

       Text::Glob implements glob(3) style matching that can be used to match against text,
       rather than fetching names from a filesystem.  If you want to do full file globbing use
       the File::Glob module instead.

       match_glob( $glob, @things_to_test )
	   Returns the list of things which match the glob from the source list.

       glob_to_regex( $glob )
	   Returns a compiled regex which is the equivalent of the globbing pattern.

       glob_to_regex_string( $glob )
	   Returns a regex string which is the equivalent of the globbing pattern.

       The following metacharacters and rules are respected.

       "*" - match zero or more characters
	   "a*" matches "a", "aa", "aaaa" and many many more.

       "?" - match exactly one character
	   "a?" matches "aa", but not "a", or "aaa"

       Character sets/ranges
	   "example.[ch]" matches "example.c" and "example.h"

	   "demo.[a-c]" matches "demo.a", "demo.b", and "demo.c"

	   "example.{foo,bar,baz}" matches "example.foo", "example.bar", and "example.baz"

       leading . must be explictly matched
	   "*.foo" does not match ".bar.foo".  For this you must either specify the leading . in
	   the glob pattern (".*.foo"), or set $Text::Glob::strict_leading_dot to a false value
	   while compiling the regex.

       "*" and "?" do not match /
	   "*.foo" does not match "bar/baz.foo".  For this you must either explicitly match the /
	   in the glob ("*/*.foo"), or set $Text::Glob::strict_wildcard_slash to a false value
	   with compiling the regex.

       The code uses qr// to produce compiled regexes, therefore this module requires perl
       version 5.005_03 or newer.

       Richard Clamp <richardc@unixbeard.net>

       Copyright (C) 2002, 2003, 2006, 2007 Richard Clamp.  All Rights Reserved.

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

       File::Glob, glob(3)

perl v5.16.3				    2011-02-22				    Text::Glob(3)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 06:57 PM.