Zydeco
view release on metacpan or search on metacpan
lib/Zydeco.pm view on Meta::CPAN
$sig =~ s/^\?((?&PerlOWS)) $GRAMMAR//xso;
}
elsif ($sig =~ /^=((?&PerlOWS))((?&PerlScalarExpression)) $GRAMMAR/xso) {
my ($ws, $default) = ($1, $2);
$parsed[-1]{default} = $default;
$sig =~ s/^=\Q$ws$default//xs;
$sig =~ s/^((?&PerlOWS)) $GRAMMAR//xso;
if ($default =~ / \$ (?: class|self) /xso) {
require PadWalker;
$default = sprintf('do { my $invocants = PadWalker::peek_my(2)->{q[@invocants]}||PadWalker::peek_my(1)->{q[@invocants]}; my $self=$invocants->[-1]; my $class=ref($self)||$self; %s }', $default);
$parsed[-1]{default} = $default;
}
}
if ($sig) {
if ($sig =~ /^,/) {
$sig =~ s/^,//;
}
else {
require Carp;
( run in 0.906 second using v1.01-cache-2.11-cpan-05444aca049 )