Zoom-Meeting
view release on metacpan or search on metacpan
local/lib/perl5/Eval/TypeTiny.pm view on Meta::CPAN
++$ok if $condition;
}
next unless $ok;
return ref( $result ) eq 'CODE' ? $result->() : ref( $result ) eq 'SCALAR' ? eval( $$result ) : $result;
}
return;
}
{
sub IMPLEMENTATION_DEVEL_LEXALIAS () { 'Devel::LexAlias' }
sub IMPLEMENTATION_PADWALKER () { 'PadWalker' }
sub IMPLEMENTATION_TIE () { 'tie' }
sub IMPLEMENTATION_NATIVE () { 'perl' }
my $implementation;
#<<<
# uncoverable subroutine
sub ALIAS_IMPLEMENTATION () {
$implementation ||= _pick_alternative(
if => ( $] ge '5.022' ) => IMPLEMENTATION_NATIVE,
needs => 'Devel::LexAlias' => IMPLEMENTATION_DEVEL_LEXALIAS,
needs => 'PadWalker' => IMPLEMENTATION_PADWALKER,
if => !!1 => IMPLEMENTATION_TIE,
);
}
#>>>
sub _force_implementation {
$implementation = shift;
}
}
local/lib/perl5/Eval/TypeTiny.pm view on Meta::CPAN
my $code = $compiler->( @{ $args{environment} }{@keys} );
undef( $compiler );
if ( $alias and ALIAS_IMPLEMENTATION eq IMPLEMENTATION_DEVEL_LEXALIAS ) {
require Devel::LexAlias;
Devel::LexAlias::lexalias( $code, $_ => $args{environment}{$_} )
for grep !/^\&/, @keys;
}
if ( $alias and ALIAS_IMPLEMENTATION eq IMPLEMENTATION_PADWALKER ) {
require PadWalker;
my %env = map +( $_ => $args{environment}{$_} ), grep !/^\&/, @keys;
PadWalker::set_closed_over( $code, \%env );
}
return $code;
} #/ sub eval_closure
my $tmp;
sub _make_lexical_assignment {
my ( $key, $index, $alias ) = @_;
my $name = substr( $key, 1 );
local/lib/perl5/Eval/TypeTiny.pm view on Meta::CPAN
currently using Perl 5.22's native alias feature. This requires Perl 5.22.
=item C<< IMPLEMENTATION_DEVEL_LEXALIAS >>
If C<< ALIAS_IMPLEMENTATION eq IMPLEMENTATION_DEVEL_LEXALIAS >> then
Eval::TypeTiny is currently using L<Devel::LexAlias> to provide aliases.
=item C<< IMPLEMENTATION_PADWALKER >>
If C<< ALIAS_IMPLEMENTATION eq IMPLEMENTATION_PADWALKER >> then
Eval::TypeTiny is currently using L<PadWalker> to provide aliases.
=item C<< IMPLEMENTATION_TIE >>
If C<< ALIAS_IMPLEMENTATION eq IMPLEMENTATION_TIE >> then Eval::TypeTiny is
using the fallback implementation of aliases using C<tie>. This is the
slowest implementation, and may cause problems in certain edge cases, like
trying to alias already-tied variables, but it's the only way to implement
C<< alias => 1 >> without a recent version of Perl or one of the two optional
modules mentioned above.
local/lib/perl5/auto/share/dist/Pod-Spell/wordlist view on Meta::CPAN
Orcish
ord
orientedness
Orwant
OSX
outdent
outfile
overloadable
overpackage
overwriteable
PadWalker
parameterizable
parameterized
parametric
PARC
paren
parser
passphrase
passwd
patchlevel
pathconf
( run in 1.516 second using v1.01-cache-2.11-cpan-05444aca049 )