#!/usr/bin/perl -w
use
YAPE::Regex::Explain;
use
strict;
if
(
@ARGV
and
$ARGV
[0] eq
'-h'
) {
die
<<
"USAGE"
;
usage: explain [ismx] < regex
ismx the regex modifiers in effect
regex the regex, either on standard input, or as the second arg
USAGE
}
my
$mode
=
shift
||
''
;
my
$regex
;
my
$exp
;
{
local
$/;
chop
(
$regex
= <>) }
$exp
= YAPE::Regex::Explain->new(
eval
"qr/\$regex/$mode"
);
$exp
->parse or
$exp
->error and
die
"explain error: "
.
$exp
->error .
"\n"
;
$exp
->explain;