view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Elastic/Model/Role/Model.pm view on Meta::CPAN
use Class::Load qw(load_class);
use Moose::Util qw(does_role);
use MooseX::Types::Moose qw(:all);
use Elastic::Model::UID();
use Elastic::Model::Deleted();
use Scalar::Util qw(blessed refaddr weaken);
use List::MoreUtils qw(uniq);
use JSON();
our $JSON = JSON->new->canonical->utf8;
use namespace::autoclean;
lib/Elastic/Model/Role/Model.pm view on Meta::CPAN
my $meta
= Moose::Meta::Class->create(
Class::MOP::class_of($self)->wrapped_class_name($class),
superclasses => [$class] );
weaken( my $weak_model = $self );
$meta->add_method( model => sub {$weak_model} );
$meta->add_method( original_class => sub {$class} );
$meta->make_immutable;
return $meta->name;
lib/Elastic/Model/Role/Model.pm view on Meta::CPAN
$scope = $model->new_scope(); # scope_1
$scope = $model->new_scope(); # scope_2, inherits from scope_1
undef $scope; # scope_2 and scope_1 are destroyed
Scopes are optional unless you have attributes which are weakened.
See L<Elastic::Model::Scoping> and L<Elastic::Model::Scope> to read more about
how scopes work.
=head1 OTHER METHODS AND ATTRIBUTES
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Elive/DAO.pm view on Meta::CPAN
our $VERSION = '1.37';
use parent 'Elive::DAO::_Base';
use YAML::Syck;
use Scalar::Util qw{weaken};
use Carp;
use Try::Tiny;
use URI;
use Elive::Util qw{1.37};
lib/Elive/DAO.pm view on Meta::CPAN
else {
$cache_access = 'init';
}
# rewrite, for benefit of 5.13.3
weaken ($Stored_Objects{$obj_url} = $struct);
if ($struct->debug >= 5) {
warn YAML::Syck::Dump({opt => \%opt, struct => $struct, class => ref($struct), url => $obj_url, cache => $cache_access, ref1 => "$struct", ref2 => "$Stored_Objects{$obj_url}"});
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
sv_release_COW|||
sv_release_IVX|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.006000||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.006000||p
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Email/MIME/Kit/Renderer/MicroMason.pm view on Meta::CPAN
init_arg => undef,
default => sub {
my ($self) = @_;
my $mason = Text::MicroMason->new('-Filters', '-MKit');
$mason->{__mkit_renderer} = $self;
Scalar::Util::weaken($mason->{__mkit_renderer});
return $mason;
},
);
{
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Email/MIME/XPath.pm view on Meta::CPAN
my $self = shift;
return if $self->__xpath_engine->{__parent};
my $parent = $self->__xpath_engine->{__parent} = {};
my $address = $self->__xpath_engine->{__address} = {};
$self->__xpath_engine->{__root} = $self;
Scalar::Util::weaken($self->__xpath_engine->{__root});
my $id = 0;
$address->{$self} = sprintf("%03d", $id++);
if (__is_multipart($self)) {
my @q = $self;
while (@q) {
my $part = shift @q;
my @subparts = $part->parts;
for (@subparts) {
$parent->{$_} = $part;
Scalar::Util::weaken $parent->{$_};
$address->{$_} = sprintf("%03d", $id++);
# XXX this will cause collisions if more than one Email::MIME::XPath
# shares parts
$_->{__xpath_engine} = $self->__xpath_engine;
Scalar::Util::weaken $_->{__xpath_engine};
}
push @q, grep { __is_multipart($_) } @subparts;
}
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Email/MIME.pm view on Meta::CPAN
use Email::MIME::ContentType 1.023; # build_content_type
use Email::MIME::Encode;
use Email::MIME::Encodings 1.314;
use Email::MIME::Header;
use Encode 1.9801 ();
use Scalar::Util qw(reftype weaken);
our @CARP_NOT = qw(Email::MIME::ContentType);
our $MAX_DEPTH = 10;
lib/Email/MIME.pm view on Meta::CPAN
return $part;
};
$walk_weak = $walk;
weaken $walk_weak;
my $rv = $walk->($self);
undef $walk;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Spiffy.pm view on Meta::CPAN
" return \$_[0]->{%s} = do { my \$self = \$_[0]; %s }\n" .
" unless \$#_ > 0 or defined \$_[0]->{%s};\n",
weak_init =>
" return do {\n" .
" \$_[0]->{%s} = do { my \$self = \$_[0]; %s };\n" .
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n" .
" \$_[0]->{%s};\n" .
" } unless \$#_ > 0 or defined \$_[0]->{%s};\n",
return_if_get =>
" return \$_[0]->{%s} unless \$#_ > 0;\n",
set =>
" \$_[0]->{%s} = \$_[1];\n",
weaken =>
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n",
sub_end =>
" return \$_[0]->{%s};\n}\n",
);
sub field {
inc/Spiffy.pm view on Meta::CPAN
local *paired_arguments = sub { (qw(-package -init)) };
Spiffy->parse_arguments(@_);
};
my ($field, $default) = @values;
$package = $args->{-package} if defined $args->{-package};
die "Cannot have a default for a weakened field ($field)"
if defined $default && $args->{-weak};
return if defined &{"${package}::$field"};
require Scalar::Util if $args->{-weak};
my $default_string =
( ref($default) eq 'ARRAY' and not @$default )
inc/Spiffy.pm view on Meta::CPAN
}
$code .= sprintf $code{set_default}, $field, $default_string, $field
if defined $default;
$code .= sprintf $code{return_if_get}, $field;
$code .= sprintf $code{set}, $field;
$code .= sprintf $code{weaken}, $field, $field
if $args->{-weak};
$code .= sprintf $code{sub_end}, $field;
my $sub = eval $code;
die $@ if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
Embperl/Form.pm view on Meta::CPAN
use Embperl::Inline ;
use Data::Dumper ;
use Storable ;
use MIME::Base64 ;
use Scalar::Util qw{weaken} ;
our %forms ;
our $form_cnt = 1 ;
our %CLEANUP = ('forms' => 0) ;
Embperl/Form.pm view on Meta::CPAN
bless $self, $class if (!ref $class);
# The following lines needs to there twice!
# some weired bug in Perl?
$Embperl::FormData::forms{$self -> {formptr}} = $self ;
weaken($Embperl::FormData::forms{$self -> {formptr}});
#$Embperl::FormData::forms{$self -> {formptr}} = $self ;
if ($toplevel)
{
$self -> {fields2empty} = [] ;
Embperl/Form.pm view on Meta::CPAN
$self -> {all_controls} = $self -> parent_form -> {all_controls} ;
}
if ($self -> has_code_refs)
{
push @{$self -> {code_refs}}, $self ;
weaken ($self -> {code_refs}[-1]) ;
}
$self -> new_controls ($controls, $options, undef, $id, $options -> {masks}, $options -> {defaults}) ;
$self -> {noframe} = 1 if ($controls && @$controls > 0 &&
$controls -> [0] -> noframe) ;
Embperl/Form.pm view on Meta::CPAN
if (!$no_init)
{
if ($control -> can ('init_data'))
{
push @{$self -> {init_data}}, $control ;
weaken ($self -> {init_data}[-1]) ;
}
if ($control -> can ('init_markup'))
{
push @{$self -> {init_markup}}, $control ;
weaken ($self -> {init_markup}[-1]) ;
}
if ($control -> can ('prepare_fdat'))
{
push @{$self -> {prepare_fdat}}, $control ;
weaken ($self -> {prepare_fdat}[-1]) ;
}
if ($control -> has_code_refs)
{
push @{$self -> {code_refs}}, $control ;
weaken ($self -> {code_refs}[-1]) ;
}
if ($control -> has_validate_rules)
{
push @{$self -> {do_validate}}, $control ;
weaken ($self -> {do_validate}[-1]) ;
}
push @{$self -> {constrain_attrs}}, $control -> constrain_attrs ;
$self -> {all_controls}{$name} = $control ;
weaken ($self -> {all_controls}{$name}) ;
}
}
$self -> {controlids}{$control->{id}} = $control ;
next if ($control -> is_disabled ()) ;
Embperl/Form.pm view on Meta::CPAN
my $class = ref $self ;
local $options -> {disable} = $control -> {disables}[$i] ;
my $subform = $class -> sub_new ($subcontrols, $options, $ctlid, 0, $self -> {formptr}) ;
$subform -> {text} ||= $control -> {options}[$i] if (exists ($control -> {options}) && $control -> {options}[$i]) ;
$subform -> {parent_control} = $control ;
weaken ($subform -> {parent_control}) ;
push @ids, $ctlid ;
push @obj, $subform ;
$i++ ;
}
$control -> {subobjects} = \@obj ;
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_release_COW|||
sv_release_IVX|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.006000||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.006000||p
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Spiffy.pm view on Meta::CPAN
" return \$_[0]->{%s} = do { my \$self = \$_[0]; %s }\n" .
" unless \$#_ > 0 or defined \$_[0]->{%s};\n",
weak_init =>
" return do {\n" .
" \$_[0]->{%s} = do { my \$self = \$_[0]; %s };\n" .
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n" .
" \$_[0]->{%s};\n" .
" } unless \$#_ > 0 or defined \$_[0]->{%s};\n",
return_if_get =>
" return \$_[0]->{%s} unless \$#_ > 0;\n",
set =>
" \$_[0]->{%s} = \$_[1];\n",
weaken =>
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n",
sub_end =>
" return \$_[0]->{%s};\n}\n",
);
sub field {
inc/Spiffy.pm view on Meta::CPAN
local *paired_arguments = sub { (qw(-package -init)) };
Spiffy->parse_arguments(@_);
};
my ($field, $default) = @values;
$package = $args->{-package} if defined $args->{-package};
die "Cannot have a default for a weakened field ($field)"
if defined $default && $args->{-weak};
return if defined &{"${package}::$field"};
require Scalar::Util if $args->{-weak};
my $default_string =
( ref($default) eq 'ARRAY' and not @$default )
inc/Spiffy.pm view on Meta::CPAN
}
$code .= sprintf $code{set_default}, $field, $default_string, $field
if defined $default;
$code .= sprintf $code{return_if_get}, $field;
$code .= sprintf $code{set}, $field;
$code .= sprintf $code{weaken}, $field, $field
if $args->{-weak};
$code .= sprintf $code{sub_end}, $field;
my $sub = eval $code;
die $@ if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Spiffy.pm view on Meta::CPAN
" return \$_[0]->{%s} = do { my \$self = \$_[0]; %s }\n" .
" unless \$#_ > 0 or defined \$_[0]->{%s};\n",
weak_init =>
" return do {\n" .
" \$_[0]->{%s} = do { my \$self = \$_[0]; %s };\n" .
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n" .
" \$_[0]->{%s};\n" .
" } unless \$#_ > 0 or defined \$_[0]->{%s};\n",
return_if_get =>
" return \$_[0]->{%s} unless \$#_ > 0;\n",
set =>
" \$_[0]->{%s} = \$_[1];\n",
weaken =>
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n",
sub_end =>
" return \$_[0]->{%s};\n}\n",
);
sub field {
inc/Spiffy.pm view on Meta::CPAN
local *paired_arguments = sub { (qw(-package -init)) };
Spiffy->parse_arguments(@_);
};
my ($field, $default) = @values;
$package = $args->{-package} if defined $args->{-package};
die "Cannot have a default for a weakened field ($field)"
if defined $default && $args->{-weak};
return if defined &{"${package}::$field"};
require Scalar::Util if $args->{-weak};
my $default_string =
( ref($default) eq 'ARRAY' and not @$default )
inc/Spiffy.pm view on Meta::CPAN
}
$code .= sprintf $code{set_default}, $field, $default_string, $field
if defined $default;
$code .= sprintf $code{return_if_get}, $field;
$code .= sprintf $code{set}, $field;
$code .= sprintf $code{weaken}, $field, $field
if $args->{-weak};
$code .= sprintf $code{sub_end}, $field;
my $sub = eval $code;
die $@ if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Spiffy.pm view on Meta::CPAN
" return \$_[0]->{%s} = do { my \$self = \$_[0]; %s }\n" .
" unless \$#_ > 0 or defined \$_[0]->{%s};\n",
weak_init =>
" return do {\n" .
" \$_[0]->{%s} = do { my \$self = \$_[0]; %s };\n" .
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n" .
" \$_[0]->{%s};\n" .
" } unless \$#_ > 0 or defined \$_[0]->{%s};\n",
return_if_get =>
" return \$_[0]->{%s} unless \$#_ > 0;\n",
set =>
" \$_[0]->{%s} = \$_[1];\n",
weaken =>
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n",
sub_end =>
" return \$_[0]->{%s};\n}\n",
);
sub field {
inc/Spiffy.pm view on Meta::CPAN
local *paired_arguments = sub { (qw(-package -init)) };
Spiffy->parse_arguments(@_);
};
my ($field, $default) = @values;
$package = $args->{-package} if defined $args->{-package};
die "Cannot have a default for a weakened field ($field)"
if defined $default && $args->{-weak};
return if defined &{"${package}::$field"};
require Scalar::Util if $args->{-weak};
my $default_string =
( ref($default) eq 'ARRAY' and not @$default )
inc/Spiffy.pm view on Meta::CPAN
}
$code .= sprintf $code{set_default}, $field, $default_string, $field
if defined $default;
$code .= sprintf $code{return_if_get}, $field;
$code .= sprintf $code{set}, $field;
$code .= sprintf $code{weaken}, $field, $field
if $args->{-weak};
$code .= sprintf $code{sub_end}, $field;
my $sub = eval $code;
die $@ if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Spiffy.pm view on Meta::CPAN
" return \$_[0]->{%s} = do { my \$self = \$_[0]; %s }\n" .
" unless \$#_ > 0 or defined \$_[0]->{%s};\n",
weak_init =>
" return do {\n" .
" \$_[0]->{%s} = do { my \$self = \$_[0]; %s };\n" .
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n" .
" \$_[0]->{%s};\n" .
" } unless \$#_ > 0 or defined \$_[0]->{%s};\n",
return_if_get =>
" return \$_[0]->{%s} unless \$#_ > 0;\n",
set =>
" \$_[0]->{%s} = \$_[1];\n",
weaken =>
" Scalar::Util::weaken(\$_[0]->{%s}) if ref \$_[0]->{%s};\n",
sub_end =>
" return \$_[0]->{%s};\n}\n",
);
sub field {
inc/Spiffy.pm view on Meta::CPAN
local *paired_arguments = sub { (qw(-package -init)) };
Spiffy->parse_arguments(@_);
};
my ($field, $default) = @values;
$package = $args->{-package} if defined $args->{-package};
die "Cannot have a default for a weakened field ($field)"
if defined $default && $args->{-weak};
return if defined &{"${package}::$field"};
require Scalar::Util if $args->{-weak};
my $default_string =
( ref($default) eq 'ARRAY' and not @$default )
inc/Spiffy.pm view on Meta::CPAN
}
$code .= sprintf $code{set_default}, $field, $default_string, $field
if defined $default;
$code .= sprintf $code{return_if_get}, $field;
$code .= sprintf $code{set}, $field;
$code .= sprintf $code{weaken}, $field, $field
if $args->{-weak};
$code .= sprintf $code{sub_end}, $field;
my $sub = eval $code;
die $@ if $@;
view all matches for this distribution
view release on metacpan or search on metacpan
t/data/cp1252/10482611.cp1252 view on Meta::CPAN
destabilize the gp41 core structure although they still confer the
six-helix bundle fold. Since the Leu 568 and Trp 571 residues form the
right wall of a conserved coiled-coil cavity that provides a binding
pocket for three C-terminal helices ([232]9), our data suggest that the
fusion-defective mutations introduce structural perturbations in the
cavity that weaken helical packing interactions in the six-helix
complex and thus inhibit its formation.
These fusion-defective mutations also exert striking effects on the
inhibitory activity of N34(L6)C28; the L568A and W571R mutants exhibit
5- to 16-fold-greater activity than the wild-type molecule. Several
lines of evidence suggest that this enhanced inhibitory activity
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
lib/English/ppport.h view on Meta::CPAN
SvROK_off|5.003007|5.003007|
SvROK_on|5.003007|5.003007|
SvRV|5.003007|5.003007|
SvRV_const|5.010001||Viu
SvRV_set|5.009003|5.003007|p
sv_rvunweaken|5.027004|5.027004|
sv_rvweaken|5.006000|5.006000|
SvRVx|5.003007||Viu
SvRX|5.009005|5.003007|p
SvRXOK|5.009005|5.003007|p
SV_SAVED_COPY|5.009005||Viu
SvSCREAM|5.003007||Viu
view all matches for this distribution
view release on metacpan or search on metacpan
lib/EntityModel/BaseClass.pm view on Meta::CPAN
$self;
}
=head2 sap
Generate a coderef that takes a weakened value of $self.
Usage:
push @handler, $obj->sap(sub {
my $self = shift;
lib/EntityModel/BaseClass.pm view on Meta::CPAN
=cut
sub sap {
my ($self, $sub) = @_;
Scalar::Util::weaken $self;
return sub {
$self->$sub(@_);
};
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/EntityModel/Plugin.pm view on Meta::CPAN
see L<EntityModel>.
=cut
use EntityModel;
use Scalar::Util qw(weaken);
=head1 METHODS
=cut
lib/EntityModel/Plugin.pm view on Meta::CPAN
my $model = shift;
my $self = bless {
model => $model
}, $class;
weaken $self->{model};
# $self->setup(@_);
return $self;
}
sub setup { die "Virtual method setup called for " . $_[0]; }
view all matches for this distribution
view release on metacpan or search on metacpan
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_resetpvn|||
sv_reset|||
sv_rvweaken||5.006000|
sv_sethek|||
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Event/ExecFlow/Job/Group.pm view on Meta::CPAN
package Event::ExecFlow::Job::Group;
use base qw( Event::ExecFlow::Job );
use strict;
use Scalar::Util qw(weaken);
sub get_type { "group" }
sub get_jobs { shift->{jobs} }
sub get_fail_with_members { shift->{fail_with_members} }
lib/Event/ExecFlow/Job/Group.pm view on Meta::CPAN
$self->SUPER::init();
foreach my $job ( @{$self->get_jobs} ) {
$job->set_group($self);
weaken($job->{group});
$self->add_child_post_callback($job);
}
$self->set_progress_max($self->get_job_cnt);
lib/Event/ExecFlow/Job/Group.pm view on Meta::CPAN
my $self = shift;
foreach my $job ( @{$self->get_jobs} ) {
if ( $job->get_type eq 'group' ) {
$job->set_group($self);
weaken($job->{group});
$job->set_group_in_all_childs;
}
else {
$job->set_group($self);
weaken($job->{group});
}
}
1;
}
lib/Event/ExecFlow/Job/Group.pm view on Meta::CPAN
push @{$self->get_jobs}, $job;
$job->set_frontend($self->get_frontend);
$job->set_group($self);
weaken($job->{group});
my $job_cnt = $job->get_job_cnt;
$self->increase_progress_max($job_cnt) if $job_cnt != 0;
if ( $self->get_state eq 'finished' ||
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Event/Wrappable.pm view on Meta::CPAN
{
$Event::Wrappable::VERSION = '0.1.1';
}
use strict;
use warnings;
use Scalar::Util qw( refaddr weaken );
use Sub::Exporter -setup => {
exports => [qw( event event_method )],
groups => { default => [qw( event event_method )] },
};
use Sub::Clone qw( clone_sub );
lib/Event/Wrappable.pm view on Meta::CPAN
sub _new {
my $class = shift;
my( $event, $raw_event ) = @_;
bless $event, $class;
my $storage = $INSTANCES{refaddr $event} = {};
weaken( $storage->{'wrapped'} = $event );
weaken( $storage->{'base'} = $raw_event );
$storage->{'wrappers'} = [ @EVENT_WRAPPERS ];
$storage->{'id'} = ++ $LAST_ID;
return $event;
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Evented/API/Engine.pm view on Meta::CPAN
use warnings;
use strict;
use 5.010;
use JSON::XS;
use Scalar::Util qw(weaken blessed);
use Module::Loaded qw(mark_as_loaded mark_as_unloaded is_loaded);
use Evented::Object;
use parent 'Evented::Object';
our $VERSION = '4.13';
lib/Evented/API/Engine.pm view on Meta::CPAN
];
# make the API Engine listen to the events of the module.
# hold a weak reference to the API engine.
$mod->add_listener($api, 'module');
weaken($mod->{api} = $api);
# here we fire an event which will export symbols for convenient use
# within the module packages. see Module.pm for defaults.
$mod->fire(set_variables => $_) for @pkgs;
lib/Evented/API/Engine.pm view on Meta::CPAN
my ($api, $mod, $mod_name, $submod_name) = @_;
# postpone load until the companion is loaded.
# hold a weak reference to the module waiting.
my $waits = $api->{companion_waits}{$mod_name} ||= [];
my $ref = [ $mod, $submod_name ]; weaken($ref->[0]);
push @$waits, $ref;
# if it is already loaded, go ahead and load the submodule.
if (my $loaded = $api->get_module($mod_name)) {
return $api->_load_companion_submodules($loaded);
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Evented/Object.pm view on Meta::CPAN
BEGIN {
$events = 'eventedObject.events';
$props = 'eventedObject.props';
}
use Scalar::Util qw(weaken blessed);
use Evented::Object::EventFire;
use Evented::Object::Collection;
our $VERSION = '5.68';
lib/Evented/Object.pm view on Meta::CPAN
my $listeners = $eo->{$props}{listeners} ||= [];
# store this listener.
push @$listeners, [$prefix, $obj];
# weaken the reference to the listener.
weaken($listeners->[$#$listeners][1]);
return 1;
}
# ->delete_listener()
lib/Evented/Object.pm view on Meta::CPAN
my $m = $monitors{$pkg} ||= [];
return if grep { $_ == $obj } @$m = grep { defined } @$m;
# hold a weak reference to the monitor.
push @$m, $obj;
weaken($monitors{$pkg}[$#$m]);
return 1;
}
# delete_class_monitor()
lib/Evented/Object.pm view on Meta::CPAN
foreach my $priority (keys %$store) {
# create a group reference.
my $group_id = "$eo/$event_name";
my $group = [ $eo, $event_name, \@args, $group_id ];
weaken($group->[0]);
# add each callback set. inject callback name.
foreach my $cb_ref (@{ $store->{$priority} }) {
my %cb = %$cb_ref; # make a copy
$cb{id} = "$group_id/$cb{name}";
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Evo/Ee.pm view on Meta::CPAN
my $ref = $comp->ee_add(connection => sub {"here"});
$comp->ee_remove($ref);
The name of the event will be checked using C<ee_events>, which should be implemented by class and return a list of available names
Don't use in the event (or weaken ref if you need to use it)
=head2 ee_remove_current
$comp->ee_add(
connection => sub($self) {
view all matches for this distribution
view release on metacpan or search on metacpan
sv_reftype|||
sv_release_COW|||
sv_replace|||
sv_report_used|||
sv_reset|||
sv_rvweaken||5.006000|
sv_setiv_mg|5.004050||p
sv_setiv|||
sv_setnv_mg|5.006000||p
sv_setnv|||
sv_setpv_mg|5.004050||p
view all matches for this distribution
view release on metacpan or search on metacpan
misc/devel-trace.pl view on Meta::CPAN
use strict;
use warnings;
use Scalar::Util qw/weaken/;
use Devel::StackTrace;
my $trace;
my $obj = bless {} => 'Some::package';
misc/devel-trace.pl view on Meta::CPAN
shift @args;
fn0(@args);
}
sub fn2 {
weaken($obj2);
fn1(@_);
}
my $ref = 'referenced';
fn2(5, 'ztring', $obj, \$ref, \&fn0, [], {}, $obj2);
view all matches for this distribution