view release on metacpan or search on metacpan
kritika.fatpack view on Meta::CPAN
$fatpacked{"Test/Deep/Cache.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TEST_DEEP_CACHE';
use strict;use warnings;package Test::Deep::Cache;use Test::Deep::Cache::Simple;sub new {my$pkg=shift;my$self=bless {},$pkg;$self->{expects}=[Test::Deep::Cache::Simple->new];$self->{normal}=[Test::Deep::Cache::Simple->new];$self->local;return$self}...
TEST_DEEP_CACHE
$fatpacked{"Test/Deep/Cache/Simple.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TEST_DEEP_CACHE_SIMPLE';
use strict;use warnings;package Test::Deep::Cache::Simple;use Carp qw(confess);use Scalar::Util qw(refaddr);BEGIN {if (grep /^weaken$/,@Scalar::Util::EXPORT_FAIL){*weaken=sub {}}else {Scalar::Util->import('weaken')}}sub new {my$pkg=shift;my$self=bl...
TEST_DEEP_CACHE_SIMPLE
$fatpacked{"Test/Deep/Class.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'TEST_DEEP_CLASS';
use strict;use warnings;package Test::Deep::Class;use Test::Deep::Cmp;sub init {my$self=shift;my$snobby=shift;my$val=shift;$self->{snobby}=$snobby;$self->{val}=$val}sub descend {my$self=shift;my$got=shift;local$Test::Deep::Snobby=$self->{snobby};Te...
TEST_DEEP_CLASS
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MHFS/FD/Reader.pm view on Meta::CPAN
use 5.014;
use strict; use warnings;
use feature 'say';
use Time::HiRes qw( usleep clock_gettime CLOCK_MONOTONIC);
use IO::Poll qw(POLLIN POLLOUT POLLHUP);
use Scalar::Util qw(looks_like_number weaken);
sub new {
my ($class, $process, $fd, $func) = @_;
my %self = ('time' => clock_gettime(CLOCK_MONOTONIC), 'process' => $process, 'fd' => $fd, 'onReadReady' => $func);
say "PID " . $self{'process'}{'pid'} . 'FD ' . $self{'fd'};
weaken($self{'process'});
return bless \%self, $class;
}
sub onReadReady {
my ($self) = @_;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MechaCPAN.pm view on Meta::CPAN
}
package MechaCPAN::DestGuard
{
use Cwd qw/cwd/;
use Scalar::Util qw/refaddr weaken/;
use overload '""' => sub { my $s = shift; return $$s }, fallback => 1;
my $dest_dir;
sub get
{
lib/App/MechaCPAN.pm view on Meta::CPAN
{
my $pwd = App::MechaCPAN::get_project_dir;
$dest_dir = \"$pwd/local";
bless $dest_dir;
$result = $dest_dir;
weaken $dest_dir;
}
mkdir $dest_dir
unless -d $dest_dir;
view all matches for this distribution
view release on metacpan or search on metacpan
t/unit/glacier/inventory_csv.t view on Meta::CPAN
use warnings;
use Test::More tests => 805;
use Test::Deep;
use Carp;
use FindBin;
use Scalar::Util qw/weaken/;
use lib map { "$FindBin::RealBin/../$_" } qw{../lib ../../lib};
use TestUtils 'w_fatal';
use App::MtAws::Glacier::Inventory::CSV;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/Netdisco/AnyEvent/Nbtstat.pm view on Meta::CPAN
$timeout = 0.5 unless defined $timeout;
my $self = bless { interval => $interval, timeout => $timeout, %args },
$class;
Scalar::Util::weaken( my $wself = $self );
socket my $fh4, AF_INET, Socket::SOCK_DGRAM(), 0
or Carp::croak "Unable to create socket : $!";
AnyEvent::Util::fh_nonblocking $fh4, 1;
view all matches for this distribution
view release on metacpan or search on metacpan
t/files/moby11.txt view on Meta::CPAN
upon the Islanders to assist him in the laborious business of heaving
down the ship to stop the leak. But to such unresting vigilance over
their dangerous allies was this small band of whites necessitated,
both by night and by day, and so extreme was the hard work they underwent,
that upon the vessel being ready again for sea, they were in such
a weakened condition that the captain durst not put off with them
in so heavy a vessel. After taking counsel with his officers,
he anchored the ship as far off shore as possible; loaded and ran
out his two cannon from the bows; stacked his muskets on the poop;
and warning the Islanders not to approach the ship at their peril,
took one man with him, and setting the sail of his best whale-boat,
t/files/moby11.txt view on Meta::CPAN
But as all else in him thinned, and his cheek-bones grew sharper,
his eyes, nevertheless, seemed growing fuller and fuller;
they became of a strange softness of lustre; and mildly but
deeply looked out at you there from his sickness, a wondrous
testimony to that immortal health in him which could not die,
or be weakened. And like circles on the water, which, as they
grow fainter, expand; so his eyes seemed rounding and rounding,
like the rings of Eternity. An awe that cannot be named would
steal over you as you sat by the side of this waning savage,
and saw as strange things in his face, as any beheld who were
bystanders when Zoroaster died. For whatever is truly wondrous
view all matches for this distribution
view release on metacpan or search on metacpan
t/cpan/Mojo2/UserAgent.pm view on Meta::CPAN
use Mojo::Util qw(monkey_patch term_escape);
use Mojo::UserAgent::CookieJar;
use Mojo::UserAgent::Proxy;
use Mojo::UserAgent::Server;
use Mojo::UserAgent::Transactor;
use Scalar::Util qw(weaken);
use constant DEBUG => $ENV{MOJO_CLIENT_DEBUG} || 0;
has ca => sub { $ENV{MOJO_CA_FILE} };
has cert => sub { $ENV{MOJO_CERT_FILE} };
t/cpan/Mojo2/UserAgent.pm view on Meta::CPAN
if ( $options{tls} = $proto eq 'https' ) {
map { $options{"tls_$_"} = $self->$_ } qw(ca cert key);
$options{tls_options}{SSL_verify_mode} = 0x00 if $self->insecure;
}
weaken $self;
my $id;
return $id = $loop->client(
%options => sub {
my ( $loop, $err, $stream ) = @_;
t/cpan/Mojo2/UserAgent.pm view on Meta::CPAN
return $self->_remove( $id ) if $old->is_websocket;
$self->cookie_jar->collect( $old );
# Upgrade connection to WebSocket
if ( my $new = $self->transactor->upgrade( $old ) ) {
weaken $self;
$new->on( resume => sub { $self->_write( $id ) } );
$c->{cb}( $self, $c->{tx} = $new );
return $new->client_read( $old->res->content->leftovers );
}
t/cpan/Mojo2/UserAgent.pm view on Meta::CPAN
->local_port( $handle->sockport );
$tx->remote_address( $handle->peerhost )
->remote_port( $handle->peerport );
}
weaken $self;
$tx->on( resume => sub { $self->_write( $id ) } );
$self->_write( $id );
}
sub _read {
t/cpan/Mojo2/UserAgent.pm view on Meta::CPAN
# Allow test servers sharing the same event loop to clean up connections
!$loop->next_tick( sub { } ) and $loop->one_tick unless $loop->is_running;
return undef unless my $id = $self->_connection( $loop, $tx, $cb );
if ( my $t = $self->request_timeout ) {
weaken $self;
$self->{connections}{$id}{timeout} ||=
$loop->timer( $t => sub { $self->_error( $id, 'Request timeout' ) } );
}
return $id;
t/cpan/Mojo2/UserAgent.pm view on Meta::CPAN
local $c->{writing} = 1;
my $chunk = $tx->client_write;
warn term_escape "-- Client >>> Server (@{[_url($tx)]})\n$chunk\n" if DEBUG;
return unless length $chunk;
weaken $self;
$c->{ioloop}->stream( $id )
->write( $chunk => sub { $self && $self->_write( $id ) } );
}
1;
view all matches for this distribution
view release on metacpan or search on metacpan
.claude/skills/perl-io-async-future/SKILL.md view on Meta::CPAN
```perl
sub _reconnect_attempt {
my ($self) = @_;
return if $self->{_connected};
weaken(my $weak = $self);
$self->{_reconnect_future} = $self->loop
->delay_future(after => $self->{reconnect_wait})
->then(sub {
my $self = $weak or return Future->done;
.claude/skills/perl-io-async-future/SKILL.md view on Meta::CPAN
}
```
**Rules:**
- Store the *whole chain* on the object (`$self->{_reconnect_future}`), not just the leaf.
- `weaken` `$self` inside callbacks â otherwise the chain holds the object alive forever.
- Always `delete $self->{_reconnect_future}` in both `on_done` and `on_fail`, or you'll guard out future reconnects with `return if $self->{_reconnect_future}`.
- On disconnect, **cancel the old `_connect_future`** so its async sub unwinds:
```perl
if (my $f = delete $self->{_connect_future}) {
$f->fail("disconnected: $reason") unless $f->is_ready;
.claude/skills/perl-io-async-future/SKILL.md view on Meta::CPAN
| Parallel, all required | `Future->needs_all` |
| First-to-finish race | `Future->wait_any` |
| Add timeout to op | `wait_any($op, $loop->delay_future(after=>N)->then_fail('timeout'))` |
| Side-effect observation | `->on_done` / `->on_fail` (don't chain) |
| Truly fire-and-forget | `->retain` (rare â usually you should hold it) |
| Closure capturing $self | `weaken(my $weak = $self)` + null-check inside |
| Cancelling stale attempt | `delete $self->{_f}; $f->cancel unless $f->is_ready` |
| Sync block-wait (tests/scripts) | `$f->get` |
---
## Common Pitfalls (the recurring ones)
- **Local-variable-only Future** â silent GC. Hold it on `$self`.
- **Async sub whose caller drops the Future** â "lost its returning future". Hold the result.
- **Strong `$self` capture in callback chain** â object never destroyed; reconnect loops leak. `weaken` it.
- **Forgetting to `delete` the held Future on completion** â stale guards block future operations.
- **Not chaining `SUPER::configure`** â defaults silently missing, or unknown keys silently accepted.
- **Returning a Future from `async sub` without `await`** â double-wrapped result.
- **Calling `$self->loop` before `$loop->add($self)`** â `loop` is undef.
- **Mixing `then` and `on_done` thinking they're the same** â `on_done` returns the original Future, your "chain" is actually two parallel observers.
view all matches for this distribution
view release on metacpan or search on metacpan
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
local/lib/perl5/Package/Stash/PP.pm view on Meta::CPAN
our $VERSION = '0.40';
use B;
use Carp qw(confess);
use Scalar::Util qw(blessed reftype weaken);
use Symbol;
# before 5.12, assigning to the ISA glob would make it lose its magical ->isa
# powers
use constant BROKEN_ISA_ASSIGNMENT => ($] < 5.012);
# before 5.10, stashes don't ever seem to drop to a refcount of zero, so
# weakening them isn't helpful
use constant BROKEN_WEAK_STASH => ($] < 5.010);
# before 5.10, the scalar slot was always treated as existing if the
# glob existed
use constant BROKEN_SCALAR_INITIALIZATION => ($] < 5.010);
# add_method on anon stashes triggers rt.perl #1804 otherwise
local/lib/perl5/Package/Stash/PP.pm view on Meta::CPAN
{
no strict 'refs';
$_[0]->{namespace} = \%{$_[0]->name . '::'};
}
weaken($_[0]->{namespace});
return $_[0]->{namespace};
}
}
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/SlideServer.pm view on Meta::CPAN
Mojo::IOLoop->singleton->reactor
->io( $i_fh, sub($reactor, $writable) { $inotify->poll if $inotify && !$writable })
->watch($i_fh, 1, 0);
{ inotify => $inotify, inotify_fh => $i_fh }
};
Scalar::Util::weaken( my $app= $self );
my $watch= $self->{_inotify}{inotify}->watch("$f", Linux::Inotify2::IN_MODIFY(), sub { $app->build_slides });
$self->slides_source_monitor($watch);
} else {
$self->slides_source_monitor(undef);
}
view all matches for this distribution
view release on metacpan or search on metacpan
socialcalc/third-party/lib/PocketIO/Transport/Base.pm view on Meta::CPAN
use warnings;
use JSON ();
use Encode ();
use Try::Tiny;
use Scalar::Util qw(weaken);
use Plack::Request;
use PocketIO::Handle;
use PocketIO::Pool;
sub new {
my $class = shift;
my $self = bless {@_}, $class;
weaken $self->{env};
$self->{req} = Plack::Request->new($self->{env});
return $self;
}
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
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/App/Termcast.pm view on Meta::CPAN
with 'MooseX::Getopt::Dashes';
use IO::Select;
use IO::Socket::INET;
use JSON;
use Scalar::Util 'weaken';
use Term::Filter::Callback;
use Term::ReadKey;
use Try::Tiny;
lib/App/Termcast.pm view on Meta::CPAN
does => 'Term::Filter',
lazy => 1,
predicate => '_has_term',
default => sub {
my $_self = shift;
weaken(my $self = $_self);
# XXX using ::Callback for now because we need to be able to
# instantiate App::Termcast objects without initializing the terminal
# (in case of just calling write_to_termcast). This should
# eventually be deprecated in favor of moving the termcast interaction
# code out to an App::Termcast::Writer module or something, and
view all matches for this distribution
view release on metacpan or search on metacpan
t/t_Common.pm view on Meta::CPAN
qw/reduce min max first firstidx any all none sum0/);
require Scalar::Util;
Scalar::Util->import::into($target, qw/blessed reftype looks_like_number
weaken isweak refaddr/);
require Cwd;
Cwd->import::into($target, qw/getcwd abs_path fastgetcwd fast_abs_path/);
require Guard;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/MadEye/Plugin/Worker/Gearman.pm view on Meta::CPAN
use English;
use App::MadEye::Util;
use POSIX ":sys_wait_h";
use Storable qw/freeze thaw/;
use YAML;
use Scalar::Util qw/weaken/;
__PACKAGE__->mk_accessors(qw/task_set child_pids gearman_client/);
our $CHILD_TIMEOUT = 60; # TODO: configurable
view all matches for this distribution
view release on metacpan or search on metacpan
mimi.fatpack view on Meta::CPAN
$fatpacked{"DBD/Sponge.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBD_SPONGE';
use strict;{package DBD::Sponge;require DBI;require Carp;our@EXPORT=qw();our$VERSION="0.03";our$drh=undef;my$methods_already_installed;sub driver{return$drh if$drh;DBD::Sponge::db->install_method("sponge_test_installed_method")unless$methods_alread...
DBD_SPONGE
$fatpacked{"DBI.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI';
package DBI;require 5.008_001;BEGIN {our$XS_VERSION=our$VERSION="0.03";$VERSION=eval$VERSION}use Carp();use DynaLoader ();use Exporter ();BEGIN {@ISA=qw(Exporter DynaLoader);@EXPORT=();@EXPORT_OK=qw(%DBI %DBI_methods hash);%EXPORT_TAGS=(sql_types=>...
DBI::_firesafe; # just in case
require $driver_class; # load the driver
};if ($@){my$err=$@;my$advice="";if ($err =~ /Can't find loadable object/){$advice="Perhaps DBD::$driver was statically linked into a new perl binary." ."\nIn which case you need to use that new perl binary." ."\nOr perhaps only the .pm file wa...
DBI
mimi.fatpack view on Meta::CPAN
$fatpacked{"DBI/ProxyServer.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_PROXYSERVER';
require 5.004;use strict;use RPC::PlServer 0.2001;require DBI;require Config;package DBI::ProxyServer;use vars qw($VERSION @ISA);$VERSION="0.03";@ISA=qw(RPC::PlServer DBI);my%DEFAULT_SERVER_OPTIONS;{my$o=\%DEFAULT_SERVER_OPTIONS;$o->{'chroot'}=unde...
DBI_PROXYSERVER
$fatpacked{"DBI/PurePerl.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_PUREPERL';
package DBI;use strict;use Carp;require Symbol;require utf8;*utf8::is_utf8=sub {require bytes;return unless defined $_[0];return!(length($_[0])==bytes::length($_[0]))}unless defined&utf8::is_utf8;$DBI::PurePerl=$ENV{DBI_PUREPERL}|| 1;$DBI::PurePerl...
delete $h->{CachedKids};
# ignore DESTROY for outer handle (DESTROY for inner likely to follow soon)
return if $h_inner;
# handle AutoInactiveDestroy and InactiveDestroy
$h->{InactiveDestroy} = 1
mimi.fatpack view on Meta::CPAN
] .join("\n",'',@post_call_frag,'').q[
return (wantarray) ? @ret : $ret[0];
}
];no strict qw(refs);my$code_ref=eval qq{#line 1 "DBI::PurePerl $method"\n$method_code};warn "$@\n$method_code\n" if $@;die "$@\n$method_code\n" if $@;*$method=$code_ref;if (0 && $method =~ /\b(connect|FETCH)\b/){my$l=0;warn "*$method code:\n"....
DBI_PUREPERL
$fatpacked{"DBI/SQL/Nano.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'DBI_SQL_NANO';
package DBI::SQL::Nano;use strict;use warnings;use vars qw($VERSION $versions);use Carp qw(croak);require DBI;BEGIN {$VERSION="0.03";$versions->{nano_version}=$VERSION;if ($ENV{DBI_SQL_NANO}||!eval {require SQL::Statement;$SQL::Statement::VERSION g...
DBI_SQL_NANO
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/mirai/Future.pm view on Meta::CPAN
status => 'pending',
};
# ... but we don't want to hold on to the real Future and cause cycles,
# memory isn't free
Scalar::Util::weaken($entry->{future});
my $name = "$f";
$FUTURE_MAP{$name} = $entry;
# Yes, this means we're modifying the callback list: if we later
lib/App/mirai/Future.pm view on Meta::CPAN
$entry->{subs} = \@subs;
# Inform subs that they have a new parent
for(@subs) {
die "missing future map entry for $_?" unless exists $FUTURE_MAP{$_};
push @{$FUTURE_MAP{$_}{deps}}, $f;
Scalar::Util::weaken($FUTURE_MAP{$_}{deps}[-1]);
}
$_->invoke_event(create => $f) for grep defined, @WATCHERS;
$f
};
},
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/PassManager/Role/CursesWin.pm view on Meta::CPAN
use Moose::Role;
with 'App::PassManager::Role::Content';
use Curses::UI;
use Scalar::Util 'weaken';
has _ui_options => (
is => 'rw',
isa => 'HashRef',
auto_deref => 1,
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Devel/PatchPerl/Plugin/Asan.pm view on Meta::CPAN
if (SvTYPE(rmcgv) != SVt_PVGV)
- gv_init(rmcgv, lu_stash, "List::Util", 12, TRUE);
+ gv_init(rmcgv, lu_stash, "List::Util", 10, TRUE);
rmcsv = GvSVn(rmcgv);
#ifndef SvWEAKREF
av_push(varav, newSVpv("weaken",6));
END
_add_patchlevel(@_, "RT#72700 List::Util boot Fix off-by-two on string literal length");
}
view all matches for this distribution
view release on metacpan or search on metacpan
Makefile.PL view on Meta::CPAN
# -*- mode: perl; c-basic-offset: 4; indent-tabs-mode: nil; -*-
use 5.006; #weaken
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
my %module = (
view all matches for this distribution
view release on metacpan or search on metacpan
script/screenorama view on Meta::CPAN
else {
websocket '/stream' => sub {
my $c = shift;
my $fork = _start_application($c);
Scalar::Util::weaken($c);
$c->on(finish => sub { $fork->kill($config->{kill_signal}); undef $fork; });
$fork->on(close => sub { $c->send({json => {exit_value => $_[1], signal => $_[2]}})->finish });
$fork->on(error => sub { $c->send({json => {error => $_[1]}})->finish });
$fork->on(read => sub { $c->send({json => {output => $_[1]}}) });
};
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Devel/PPPort.pm view on Meta::CPAN
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/ArangoDB/AbstractDocument.pm view on Meta::CPAN
package ArangoDB::AbstractDocument;
use strict;
use warnings;
use utf8;
use 5.008001;
use Scalar::Util qw(weaken);
use overload
q{""} => sub { shift->document_handle },
fallback => 1;
sub new {
my ( $class, $conn, $doc ) = @_;
die "Invalid argument for $class : undef" unless defined $doc;
my $self = bless { connection => $conn, }, $class;
weaken( $self->{connection} );
my $id = CORE::delete $doc->{_id};
my $rev = CORE::delete $doc->{_rev};
$self->{is_persistent} = defined $id && defined $rev;
if ( $self->{is_persistent} ) {
( $self->{_collection_id}, $self->{_id} ) = split '/', $id;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/ArangoDB2/Base.pm view on Meta::CPAN
use warnings;
use Carp qw(croak);
use Data::Dumper;
use JSON::XS;
use Scalar::Util qw(blessed weaken);
# new
#
lib/ArangoDB2/Base.pm view on Meta::CPAN
while (my $arg = shift) {
# if arg is a ref it should be another
# ArangoDB::* object
if (ref $arg) {
# prevent circular ref
weaken $arg;
# create reference to parent object
$self->{$arg->_class} = $arg;
}
# if arg is a string then it is the "name"
# of this object
view all matches for this distribution
view release on metacpan or search on metacpan
xs/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/Archive/Extract/ppport.h view on Meta::CPAN
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
xs/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