steves has asked for the wisdom of the Perl Monks concerning the following question:
At the risk of being flamed back to initiate level I ask this: Given a Regexp reference, is there a safe (or known) way to get the underlying regexp? For example, given this code:
my $x = qr/^foo\.c$/; print "$x\n";
I get this result:
(?-xism:^foo\.c$)
which would suggest just extracting what follows the (?-xism:, preceding the final paren would do it. Seems like very cheesy coding though.
The reason for this is an interface that accepts a list of arguments as file matching arguments. If the argument is a scalar, it's assumed to be a wildcard pattern which is converted to a regexp. If it's a Regexp reference it's obviously a regexp. Right now the interface simply converts all to a list of regexp's then loops through that list at match time. I was contemplating converting the list to a | alternation regexp for a single match, but I'd need to "undo" the Regexp references to do that.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Getting regexp from Regexp references
by integral (Hermit) on Jan 28, 2003 at 20:09 UTC | |
by bart (Canon) on Jan 28, 2003 at 20:36 UTC | |
by steves (Curate) on Jan 28, 2003 at 20:32 UTC | |
|
Re: Getting regexp from Regexp references
by Gilimanjaro (Hermit) on Jan 28, 2003 at 20:34 UTC |