sub _is_start_pattern {
my ($class, $line) = @_;
return ($line =~ $class->START_PATTERN);
# I really wish we could do
#return ($line =~ $class::START_PATTERN);
}
####
{
package PB_File;
our $START_PATTERN = "base-pattern";
sub pattern {
my $class = shift;
{
no strict 'refs';
${"${class}::START_PATTERN"};
};
}
}
{
package An_AR;
use base qw(PB_File);
our $START_PATTERN = "sub-pattern";
};
use Test::More tests => 2;
is( PB_File->pattern, 'base-pattern' );
is( An_AR->pattern, 'sub-pattern' );
####
our $START_PATTERN = qr(^(\d)\s+\1$);
sub START_PATTERN { qr(^(\d)\s+\1$) };