use strict; use warnings; package Test::Deep::RegexpRef; use Test::Deep::Ref; use Test::Deep::RegexpVersion; sub init { my $self = shift; my $val = shift; $self->{val} = $val; } sub descend { my $self = shift; my $got = shift; my $exp = $self->{val}; if ($Test::Deep::RegexpVersion::OldStyle) { return 0 unless $self->test_class($got, "Regexp"); return 0 unless $self->test_reftype($got, "SCALAR"); } else { return 0 unless $self->test_reftype($got, "REGEXP"); } return Test::Deep::descend($got, Test::Deep::regexprefonly($exp)); } sub renderGot { my $self = shift; return shift().""; } 1;