regname regnames regnames_count);
{
my $qr=qr/foo/pi;
- ok(is_regexp($qr),'is_regexp($qr)');
+ my $rx = $$qr;
+
+ ok(is_regexp($qr),'is_regexp(REGEXP ref)');
+ ok(is_regexp($rx),'is_regexp(REGEXP)');
ok(!is_regexp(''),'is_regexp("")');
- is((regexp_pattern($qr))[0],'foo','regexp_pattern[0]');
- is((regexp_pattern($qr))[1],'ip','regexp_pattern[1]');
- is(regexp_pattern($qr),'(?pi-xsm:foo)','scalar regexp_pattern');
+
+ is((regexp_pattern($qr))[0],'foo','regexp_pattern[0] (ref)');
+ is((regexp_pattern($qr))[1],'ip','regexp_pattern[1] (ref)');
+ is(regexp_pattern($qr),'(?pi-xsm:foo)','scalar regexp_pattern (ref)');
+
+ is((regexp_pattern($rx))[0],'foo','regexp_pattern[0] (bare REGEXP)');
+ is((regexp_pattern($rx))[1],'ip','regexp_pattern[1] (bare REGEXP)');
+ is(regexp_pattern($rx),'(?pi-xsm:foo)',
+ 'scalar regexp_pattern (bare REGEXP)');
+
ok(!regexp_pattern(''),'!regexp_pattern("")');
}
is(regnames_count(),3);
}
# New tests above this line, don't forget to update the test count below!
-BEGIN { plan tests => 14 }
+BEGIN { plan tests => 18 }
# No tests here!
REGEXP *
Perl_get_re_arg(pTHX_ SV *sv) {
- SV *tmpsv;
if (sv) {
if (SvMAGICAL(sv))
mg_get(sv);
- if (SvROK(sv) &&
- (tmpsv = MUTABLE_SV(SvRV(sv))) && /* assign deliberate */
- SvTYPE(tmpsv) == SVt_REGEXP)
- {
- return (REGEXP*) tmpsv;
- }
+ if (SvROK(sv))
+ sv = MUTABLE_SV(SvRV(sv));
+ if (SvTYPE(sv) == SVt_REGEXP)
+ return (REGEXP*) sv;
}
return NULL;