+METHODS
+ "new [ do => $what | type => $type ], capture => $captures"
+ Constructs a new Regexp::Wildcard object.
+
+ "do" lists all features that should be enabled when converting wildcards
+ to regexps. Refer to "do" for details on what can be passed in $what.
+
+ The "type" specifies a predefined set of "do" features to use. See
+ "type" for details on which types are valid. The "do" option overrides
+ "type".
+
+ "capture" lists which atoms should be capturing. Refer to "capture" for
+ more details.
+
+ "do [ $what | set => $c1, add => $c2, rem => $c3 ]"
+ Specifies the list of metacharacters to convert or to prevent for
+ escaping. They fit into six classes :
+
+ * 'jokers'
+
+ Converts "?" to "." and "*" to ".*".
+
+ 'a**\\*b??\\?c' ==> 'a.*\\*b..\\?c'
+
+ * 'sql'
+
+ Converts "_" to "." and "%" to ".*".
+
+ 'a%%\\%b__\\_c' ==> 'a.*\\%b..\\_c'
+
+ * 'commas'
+
+ Converts all "," to "|" and puts the complete resulting regular
+ expression inside "(?: ... )".
+
+ 'a,b{c,d},e' ==> '(?:a|b\\{c|d\\}|e)'
+
+ * 'brackets'
+
+ Converts all matching "{ ... , ... }" brackets to "(?: ... | ... )"
+ alternations. If some brackets are unbalanced, it tries to
+ substitute as many of them as possible, and then escape the
+ remaining unmatched "{" and "}". Commas outside of any
+ bracket-delimited block are also escaped.
+
+ 'a,b{c,d},e' ==> 'a\\,b(?:c|d)\\,e'
+ '{a\\{b,c}d,e}' ==> '(?:a\\{b|c)d\\,e\\}'
+ '{a{b,c\\}d,e}' ==> '\\{a\\{b\\,c\\}d\\,e\\}'
+
+ * 'groups'
+
+ Keeps the parenthesis "( ... )" of the original string without
+ escaping them. Currently, no check is done to ensure that the
+ parenthesis are matching.
+
+ 'a(b(c))d\\(\\)' ==> (no change)
+
+ * 'anchors'
+
+ Prevents the *beginning-of-line* "^" and *end-of-line* "$" anchors
+ to be escaped. Since "[...]" character class are currently escaped,
+ a "^" will always be interpreted as *beginning-of-line*.
+
+ 'a^b$c' ==> (no change)
+
+ Each $c can be any of :
+
+ * A hash reference, with wanted metacharacter group names (described
+ above) as keys and booleans as values ;
+
+ * An array reference containing the list of wanted metacharacter
+ classes ;
+
+ * A plain scalar, when only one group is required.
+
+ When "set" is present, the classes given as its value replace the
+ current object options. Then the "add" classes are added, and the "rem"
+ classes removed.
+
+ Passing a sole scalar $what is equivalent as passing "set => $what". No
+ argument means "set => [ ]".
+
+ $rw->do(set => 'jokers'); # Only translate jokers.
+ $rw->do('jokers'); # Same.
+ $rw->do(add => [ qw<sql commas> ]); # Translate also SQL and commas.
+ $rw->do(rem => 'jokers'); # Specifying both 'sql' and 'jokers' is useless.
+ $rw->do(); # Translate nothing.
+
+ The "do" method returns the Regexp::Wildcards object.
+
+ "type $type"
+ Notifies to convert the metacharacters that corresponds to the
+ predefined type $type. $type can be any of :