view release on metacpan or search on metacpan
vhost/html/js/tiny_mce/plugins/fullscreen/fullscreen.htm view on Meta::CPAN
// Override options for fullscreen
for (var n in paSe.fullscreen_settings)
settings[n] = paSe.fullscreen_settings[n];
// Patch callbacks, make them point to window.opener
patchCallback(settings, 'urlconverter_callback');
patchCallback(settings, 'insertlink_callback');
patchCallback(settings, 'insertimage_callback');
patchCallback(settings, 'setupcontent_callback');
patchCallback(settings, 'save_callback');
view all matches for this distribution
view release on metacpan or search on metacpan
vhost/html/js/tiny_mce/plugins/fullscreen/fullscreen.htm view on Meta::CPAN
// Override options for fullscreen
for (var n in paSe.fullscreen_settings)
settings[n] = paSe.fullscreen_settings[n];
// Patch callbacks, make them point to window.opener
patchCallback(settings, 'urlconverter_callback');
patchCallback(settings, 'insertlink_callback');
patchCallback(settings, 'insertimage_callback');
patchCallback(settings, 'setupcontent_callback');
patchCallback(settings, 'save_callback');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPAN/Visitor.pm view on Meta::CPAN
# Arguments:
#
# jobs -- if greater than 1, distributions are processed in parallel
# via Parallel::ForkManager
#
# iterate() takes several optional callbacks which are run in the following
# order. Callbacks get a single hashref argument as described above under
# default actions.
#
# check -- whether the distribution should be processed; goes to next file
# if false; default is always true
lib/CPAN/Visitor.pm view on Meta::CPAN
C<result> â an empty hashref to start; the return values from each action are added and may be referenced by subsequent actions
=back
The C<result> field is used to accumulate the return values from action
callbacks. For example, the return value from the default 'extract' action is
the unpacked distribution directory:
$job->{result}{extract} # distribution directory path
You do not need to store the results yourself â the C<iterate> method
takes care of it for you.
Callbacks occur in the following order. Some callbacks skip further
processing if the return value is false.
=over 4
=item *
view all matches for this distribution
view release on metacpan or search on metacpan
t/data/cpanriver.01.build.log view on Meta::CPAN
t/02-constants.t ..... ok
t/09-load-threads.t .. skipped: This perl wasn't built to support threads
t/10-simple.t ........ ok
t/11-multiple.t ...... ok
t/13-data.t .......... ok
t/14-callbacks.t ..... ok
# According to Config::Perl::V version 0.29, this is NOT a debugging perl
# Not testing global destruction
t/15-self.t .......... ok
# Using Hash::Util::FieldHash 1.20
t/16-huf.t ........... ok
t/data/cpanriver.01.build.log view on Meta::CPAN
t/zvg_51dbm_file.t
t/zvg_52dbm_complex.t
t/zvg_53sqlengine_adv.t
t/zvg_60preparse.t
t/zvg_65transact.t
t/zvg_70callbacks.t
t/zvg_72childhandles.t
t/zvg_73cachedkids.t
t/zvg_80proxy.t
t/zvg_85gofer.t
t/zvg_86gofer_fail.t
t/data/cpanriver.01.build.log view on Meta::CPAN
t/zvp_51dbm_file.t
t/zvp_52dbm_complex.t
t/zvp_53sqlengine_adv.t
t/zvp_60preparse.t
t/zvp_65transact.t
t/zvp_70callbacks.t
t/zvp_72childhandles.t
t/zvp_73cachedkids.t
t/zvp_80proxy.t
t/zvp_85gofer.t
t/zvp_86gofer_fail.t
t/data/cpanriver.01.build.log view on Meta::CPAN
t/zvxgp_51dbm_file.t
t/zvxgp_52dbm_complex.t
t/zvxgp_53sqlengine_adv.t
t/zvxgp_60preparse.t
t/zvxgp_65transact.t
t/zvxgp_70callbacks.t
t/zvxgp_72childhandles.t
t/zvxgp_73cachedkids.t
t/zvxgp_80proxy.t
t/zvxgp_85gofer.t
t/zvxgp_86gofer_fail.t
t/data/cpanriver.01.build.log view on Meta::CPAN
t/51dbm_file.t .................. ok
t/52dbm_complex.t ............... skipped: DBI::SQL::Nano is being used
t/53sqlengine_adv.t ............. ok
t/60preparse.t .................. ok
t/65transact.t .................. ok
t/70callbacks.t ................. ok
t/72childhandles.t .............. ok
t/73cachedkids.t ................ ok
t/80proxy.t ..................... skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm)
t/85gofer.t ..................... ok
t/86gofer_fail.t ................ ok
t/data/cpanriver.01.build.log view on Meta::CPAN
t/zvg_51dbm_file.t .............. ok
t/zvg_52dbm_complex.t ........... skipped: DBI::SQL::Nano is being used
t/zvg_53sqlengine_adv.t ......... skipped: Modifying driver state won't compute running behind Gofer
t/zvg_60preparse.t .............. ok
t/zvg_65transact.t .............. skipped: Transactions not supported by DBD::Gofer
t/zvg_70callbacks.t ............. ok
t/zvg_72childhandles.t .......... ok
t/zvg_73cachedkids.t ............ ok
t/zvg_80proxy.t ................. skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm)
t/zvg_85gofer.t ................. ok
t/zvg_86gofer_fail.t ............ skipped: Gofer DBI_AUTOPROXY
t/data/cpanriver.01.build.log view on Meta::CPAN
t/zvp_51dbm_file.t .............. ok
t/zvp_52dbm_complex.t ........... skipped: DBI::SQL::Nano is being used
t/zvp_53sqlengine_adv.t ......... ok
t/zvp_60preparse.t .............. skipped: preparse not supported for DBI::PurePerl
t/zvp_65transact.t .............. ok
t/zvp_70callbacks.t ............. skipped: $h->{Callbacks} attribute not supported for DBI::PurePerl
t/zvp_72childhandles.t .......... ok
t/zvp_73cachedkids.t ............ ok
t/zvp_80proxy.t ................. skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm)
t/zvp_85gofer.t ................. ok
t/zvp_86gofer_fail.t ............ skipped: requires Callbacks which are not supported with PurePerl
t/data/cpanriver.01.build.log view on Meta::CPAN
t/zvxgp_51dbm_file.t ............ ok
t/zvxgp_52dbm_complex.t ......... skipped: DBI::SQL::Nano is being used
t/zvxgp_53sqlengine_adv.t ....... skipped: Modifying driver state won't compute running behind Gofer
t/zvxgp_60preparse.t ............ skipped: preparse not supported for DBI::PurePerl
t/zvxgp_65transact.t ............ skipped: Transactions not supported by DBD::Gofer
t/zvxgp_70callbacks.t ........... skipped: $h->{Callbacks} attribute not supported for DBI::PurePerl
t/zvxgp_72childhandles.t ........ ok
t/zvxgp_73cachedkids.t .......... ok
t/zvxgp_80proxy.t ............... skipped: modules required for proxy are probably not installed (e.g., RPC/PlClient.pm)
t/zvxgp_85gofer.t ............... ok
t/zvxgp_86gofer_fail.t .......... skipped: requires Callbacks which are not supported with PurePerl
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPANPLUS/Dist/Build.pm view on Meta::CPAN
### fit. The default installed callback will return the hashref in
### an unmodified form
### this callback got added after cpanplus 0.0562, so use a 'can'
### to find out if it's supported. For older versions, we'll just
### return the hashref as is ourselves.
my $href = $cb->_callbacks->can('filter_prereqs')
? $cb->_callbacks->filter_prereqs->( $cb, $prereqs )
: $prereqs;
$self->status->prereqs( $href );
### make sure it's not the same ref
lib/CPANPLUS/Dist/Build.pm view on Meta::CPAN
### mark specifically *test* failure.. so we don't
### send success on force...
$test_fail++;
if( !$force and !$cb->_callbacks->proceed_on_test_failure->(
$self, $@ )
) {
$dist->status->test(0);
if ( $conf->get_conf('cpantest') ) {
$status->{stage} = 'test';
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPANPLUS/Dist/Deb.pm view on Meta::CPAN
### run the contents through the callback for munging
### make this conditional, as this was introduced in the
### dev branch of 0.81_01, so not all may have it (automatically)
### installed
if( $cb->_callbacks->munge_dist_metafile ) {
$contents = $cb->_callbacks->munge_dist_metafile->(
$cb, $contents
);
}
$fh->print( $contents );
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPANPLUS/Dist/Fedora.pm view on Meta::CPAN
# ... FIXME
},
$status->specpath,
);
if ( $intern->_callbacks->munge_dist_metafile ) {
print 'munging...';
my $orig_contents = _read_file( $status->specpath );
my $new_contents = $intern->_callbacks->munge_dist_metafile->($intern, $orig_contents);
_write_file( $status->specpath, $new_contents );
}
# copy package.
my $tarball = "$dir/" . basename $module->status->fetch;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPANPLUS/Internals/Source/CPANIDX/HTTP.pm view on Meta::CPAN
$res = $http->request($url, \&savetofile, OUT);
close OUT;
=item set_callback ( $functionref, $dataref )
At various stages of the request, callbacks may be used to modify the
behaviour or to monitor the status of the request. These work like the
$data_callback parameter to request(), but are more verstaile. Using
set_callback disables $data_callback in request()
The callbacks are called as:
callback ( $self, $phase, $dataref, $cbargs )
The current phases are:
connect - connection has been established and headers are being
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPANPLUS/Internals/Source/CPANMetaDB/HTTP.pm view on Meta::CPAN
$res = $http->request($url, \&savetofile, OUT);
close OUT;
=item set_callback ( $functionref, $dataref )
At various stages of the request, callbacks may be used to modify the
behaviour or to monitor the status of the request. These work like the
$data_callback parameter to request(), but are more verstaile. Using
set_callback disables $data_callback in request()
The callbacks are called as:
callback ( $self, $phase, $dataref, $cbargs )
The current phases are:
connect - connection has been established and headers are being
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPANPLUS/Internals/Source/MetaCPAN/HTTP.pm view on Meta::CPAN
$res = $http->request($url, \&savetofile, OUT);
close OUT;
=item set_callback ( $functionref, $dataref )
At various stages of the request, callbacks may be used to modify the
behaviour or to monitor the status of the request. These work like the
$data_callback parameter to request(), but are more verstaile. Using
set_callback disables $data_callback in request()
The callbacks are called as:
callback ( $self, $phase, $dataref, $cbargs )
The current phases are:
connect - connection has been established and headers are being
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPANPLUS/Shell/Tk.pm view on Meta::CPAN
sub _setup_contents {
my $self = shift;
my $MW = $self->{MW};
my $CP = $self->{CP};
$self->_setup_cpanplus_callbacks;
my ($topframe, $leftframe, $rightframe) = $self->_setup_frames;
$self->_setup_perl_info($topframe);
$self->_setup_left_frame($leftframe);
$self->_setup_right_frame($rightframe);
}
#------------------------------------------------------------------------
# _setup_cpanplus_callbacks installs callbacks in the Backend to recieve
# print and error messages and put them into the right frame
#
sub _setup_cpanplus_callbacks {
my $self = shift;
my $MW = $self->{MW};
my $CP = $self->{CP};
my $eo = $CP->error_object;
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CPANPLUS/Dist/YACSmoke.pm view on Meta::CPAN
=over
=item C<init>
This method is called just after the new dist object is set up. It initialises the database file if it hasn't been initialised already
and loads the list of excluded distributions from the C<ini> file if that hasn't been loaded already. It also registers callbacks with
the L<CPANPLUS> backend.
=item C<prepare>
This runs the preparation step of your distribution. This step is meant to set up the environment so the create step can create the actual distribution(file).
view all matches for this distribution
view release on metacpan or search on metacpan
bundled/Build.pm view on Meta::CPAN
### fit. The default installed callback will return the hashref in
### an unmodified form
### this callback got added after cpanplus 0.0562, so use a 'can'
### to find out if it's supported. For older versions, we'll just
### return the hashref as is ourselves.
my $href = $cb->_callbacks->can('filter_prereqs')
? $cb->_callbacks->filter_prereqs->( $cb, $prereqs )
: $prereqs;
$self->status->prereqs( $href );
### make sure it's not the same ref
bundled/Build.pm view on Meta::CPAN
### mark specifically *test* failure.. so we don't
### send success on force...
$test_fail++;
if( !$force and !$cb->_callbacks->proceed_on_test_failure->(
$self, $@ )
) {
$dist->status->test(0);
if ( $conf->get_conf('cpantest') ) {
$status->{stage} = 'test';
view all matches for this distribution
view release on metacpan or search on metacpan
methods to CPS::Future
* Allow future chaining for cancellation
0.16 CHANGES:
* Allow passing CPS::Future objects into others for on_ready, on_done
and on_fail callbacks (RT78432)
* Override calling on a CPS::Future to invoke ->done directly
0.15 CHANGES:
* More work on CPS::Future - added ->and_then, ->transform
view all matches for this distribution
view release on metacpan or search on metacpan
Debian_CPANTS.txt view on Meta::CPAN
"libmarc-crosswalk-dublincore-perl", "MARC-Crosswalk-DublinCore", "0.02", "0", "0"
"libmarc-lint-perl", "MARC-Lint", "1.44", "0", "0"
"libmarc-perl", "MARC", "1.07", "0", "0"
"libmarc-record-perl", "MARC-Record", "2.0.0", "0", "0"
"libmarc-xml-perl", "MARC-XML", "0.92", "0", "0"
"libmasonx-interp-withcallbacks-perl", "MasonX-Interp-WithCallbacks", "1.18", "0", "0"
"libmath-algebra-symbols-perl", "Math-Algebra-Symbols", "1.21", "0", "0"
"libmath-basecalc-perl", "Math-BaseCalc", "1.013", "0", "0"
"libmath-basecnv-perl", "Math-BaseCnv", "1.4.75O6Pbr", "0", "0"
"libmath-bigint-gmp-perl", "Math-BigInt-GMP", "1.24", "1", "0"
"libmath-calc-units-perl", "Math-Calc-Units", "1.07", "0", "0"
view all matches for this distribution
view release on metacpan or search on metacpan
# we have selectors
elsif (my $sel_list = $sac->parse_selector_list(\$css)) {
warn "[SAC] parsed selectors\n" if DEBUG;
next unless @$sel_list;
# callbacks
$sac->[_dh_]->start_selector($sel_list) if $sac->[_dh_can_]->{start_selector};
# parse the rule
my $rule;
warn "[SAC] parsing rule\n" if DEBUG;
Methods will be called on whatever it is you pass as values to those
options. Thus, you may pass in objects as well as class names (I
haven't tested this yet, there may be a problem).
NOTE: an error handler should implement all callbacks, while a document
handler may only implement those it is interested in. There is a default
error handler (which dies and warns depending on the type of error) but
not default document handler.
=item * $sac->ParserVerion or $sac->getParserVerion
view all matches for this distribution
view release on metacpan or search on metacpan
libsass/sass_functions.cpp view on Meta::CPAN
cb->function = function;
cb->cookie = cookie;
return cb;
}
// Setters and getters for callbacks on function lists
Sass_Function_Entry ADDCALL sass_function_get_list_entry(Sass_Function_List list, size_t pos) { return list[pos]; }
void sass_function_set_list_entry(Sass_Function_List list, size_t pos, Sass_Function_Entry cb) { list[pos] = cb; }
const char* ADDCALL sass_function_get_signature(Sass_Function_Entry cb) { return cb->signature; }
Sass_Function_Fn ADDCALL sass_function_get_function(Sass_Function_Entry cb) { return cb->function; }
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CSV/Reader.pm view on Meta::CPAN
- escape: string, default backslash
- mutators: hashref of field name => callback($value_ref, $row_ref) pairs.
Note: the option field_aliases is processed after the option field_normalizer if given.
Note: the callbacks given with the mutators option are called in their key order (which is an unpredictable order unless they're tied with Tie::IxHash).
=cut
sub new {
my $proto = shift;
lib/CSV/Reader.pm view on Meta::CPAN
'quote_char' => $self->{'enclosure'},
%text_csv_options, # undocumented experimental feature; consider overriding _new_text_csv_object() instead.
}) || die('Method _new_text_csv_object() did not return a Text::CSV object as expected');
# Emulate the original Text::CSV error message format but without the LF and with the caller script/module.
if (0 && $text_csv->can('callbacks')) { # exists since Text::CSV_XS version 1.06
$text_csv->callbacks(
'error' => sub {
my ($err, $msg, $pos, $recno, $fldno) = @_; # This is dumb because the object itself is not given.
if ($err eq '2012') { # EOF
return;
}
view all matches for this distribution
view release on metacpan or search on metacpan
in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to callbacks.
----------------------------
revision 1.12
date: 2000/08/21 22:15:58; author: sussman; state: Exp; lines: +59 -31
Property-delta stuff at least compiles correctly now. :)
----------------------------
in frame if present.
(do_stack_append): validate above new fields, then make them default
to parent's values.
(do_directory_callback): pass correct ancestry information to callbacks.
----------------------------
revision 1.53
date: 2000/08/21 22:43:13; author: sussman; state: Exp; lines: +16 -4
save state
----------------------------
date: 2000/08/14 17:58:53; author: sussman; state: Exp; lines: +145 -12
Merged jimb's walker structure into svn_delta.h, jimb's own header is
not (any longer) relevant. :)
Busy filling out parser's routines to call various svn_walker_t callbacks.
----------------------------
revision 1.36
date: 2000/08/11 20:57:03; author: sussman; state: Exp; lines: +146 -130
Entire interface rewritten, in process of flushing out specific events now.
----------------------------
New error-returning strategy:
If we encounter a validation error while inside an expat callback,
1. store the error in our digger structure
2. immediately set all of the expat callbacks to NULL
Item #2 causes XML_Parse() to finish its chunk rather quickly, whereby
our main parser loop then notices the existence of #1 and returns.
----------------------------
revision 1.30
date: 2000/08/08 19:29:29; author: kfogel; state: Exp; lines: +1 -1
Recurse, or, as Noah Friedman likes to say, "recur".
----------------------------
revision 1.24
date: 2000/08/08 18:41:21; author: kfogel; state: Exp; lines: +9 -16
Allow null callbacks.
----------------------------
revision 1.23
date: 2000/08/08 17:34:03; author: sussman; state: Exp; lines: +44 -43
Delta library compiles now.
----------------------------
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Cache/AgainstFile.pm view on Meta::CPAN
a set of modules for lazy caching
=item L<Cache>
a rewrite of Cache::Cache with extra features such as validation callbacks
=back
=back
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Cache/FastMmap.pm view on Meta::CPAN
performed to create new slots/space which is done in an efficient way
=back
The class also supports read-through, and write-back or write-through
callbacks to access the real data if it's not in the cache, meaning that
code like this:
my $Value = $Cache->get($Key);
if (!defined $Value) {
$Value = $RealDataSource->get($Key);
lib/Cache/FastMmap.pm view on Meta::CPAN
Number of pages. Should be a prime number for best hashing
=back
The cache allows the use of callbacks for reading/writing data to an
underlying data store.
=over 4
=item * B<context>
lib/Cache/FastMmap.pm view on Meta::CPAN
=item I<clear()>
Clear all items from the cache
Note: If you're using callbacks, this has no effect
on items in the underlying data store. No delete
callbacks are made
=cut
sub clear {
my $Self = shift;
$Self->_expunge_all(1, 0);
lib/Cache/FastMmap.pm view on Meta::CPAN
=item I<purge()>
Clear all expired items from the cache
Note: If you're using callbacks, this has no effect
on items in the underlying data store. No delete
callbacks are made, and no write callbacks are made
for the expired data
=cut
sub purge {
my $Self = shift;
view all matches for this distribution
view release on metacpan or search on metacpan
t/CMAETest/Commands.pm view on Meta::CPAN
use Test::More;
use Test::Fatal;
my $key = random_key();
my @keys = map { "commands-$_" } (1..10);
my @callbacks = (
sub { my ($memd, $cv) = @_; $memd->flush_all(sub { is($_[0], 1, 'Flush all records'); $cv->end }); },
sub {
my ($memd, $cv) = @_;
my $cb = AE::cv {
is($_[0]->recv, 1, 'Flush all records (via condvar)');
t/CMAETest/Commands.pm view on Meta::CPAN
} );
$cv->recv;
$cv = AE::cv;
foreach my $code (@callbacks) {
$cv->begin();
eval {
$code->($memd, $cv);
};
if ($@) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Cache/Memcached/Sweet.pm view on Meta::CPAN
}
}
=head1 NAME
Cache::Memcached::Sweet - sugary memcached with callbacks
=head1 SYNOPSIS
# Reads MEMCACHED_HOST from env, and defaults to localhost:11211 if not set
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Cache/Memcached/libmemcached.pm view on Meta::CPAN
delete $args{no_rehash};
carp "Unrecognised options: @{[ sort keys %args ]}"
if %args;
# Set compression/serialization callbacks
$self->set_callback_coderefs(
# Closures so we have reference to $self
$self->_mk_callbacks()
);
# behavior options
foreach my $option (qw(no_block hashing_algorithm distribution_method binary_protocol)) {
my $method = "set_$option";
lib/Cache/Memcached/libmemcached.pm view on Meta::CPAN
# for compatibility with Cache::Memcached
# push @{$self->{servers}}, $server;
}
sub _mk_callbacks
{
my $self = shift;
weaken($self);
my $inflate = sub {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Cache/RedisDB.pm view on Meta::CPAN
sub set {
my ($self, $namespace, $key, $value, $exptime, $callback) = @_;
if (not defined $value or ref $value or Encode::is_utf8($value)) {
state $encoder = Sereal::Encoder->new({
freeze_callbacks => 1,
});
$value = $encoder->encode($value);
}
my $cache_key = _cache_key($namespace, $key);
if (defined $exptime) {
view all matches for this distribution
view release on metacpan or search on metacpan
ChangeLog.pre-git view on Meta::CPAN
cair_perl_set_isa to cairo_perl_set_isa. Doh!
* t/CairoSurface.t: Explicitly clear the image surface on cairo
1.0.x before writing it out since 1.0.x doesn't do it for us. Use
lexical surface variables to make sure they get destroyed before
execution ends which in turn makes sure all tests inside callbacks
are run before Test::More checks if reality matches the test plan.
2006-07-15 tsch
* Cairo.pm, NEWS, README: Beta release 0.90.
view all matches for this distribution
view release on metacpan or search on metacpan
print ($@) if ($@);
# Never been able to trigger a callback.
#$session->register_callback("ENTRY ADDED", sub { print "Callback: @_\n" }, "foo", 1);
#
#$session->call_callbacks("ENTRY ADDED");
@entries = $session->list_entries(
'-//XAPIA/CSA/ENTRYATTR//NONSGML Date Created//EN' => {
type => 'DATE TIME',
value => '19970612T010654Z',
view all matches for this distribution
view release on metacpan or search on metacpan
lib/CallBackery/GuiPlugin/Abstract.pm view on Meta::CPAN
[];
};
=head2 eventActions
A map of callbacks that will be called according to events in the
system. The following events are available:
configChanged
=cut
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Callback/Cleanup.pm view on Meta::CPAN
=pod
=head1 NAME
Callback::Cleanup - Declare callbacks that clean themselves up
=head1 SYNOPSIS
use Callback::Cleanup;
lib/Callback/Cleanup.pm view on Meta::CPAN
sub { }, # cleanup
);
=head1 DESCRIPTION
This is a very simple module that provides syntactic sugar for callbacks that
need to finalize somehow.
Callbacks are very convenient APIs when they have no definite end of life. If
an end of life behavior is required this helps keep the cleanup code and
callback code together.
lib/Callback/Cleanup.pm view on Meta::CPAN
In perl code references that are not closures aren't garbage collected (they
are shared).
This module uses L<Sub::Clone/clone_if_immortal> to make sure timely
destruction of these callbacks happens.
=head1 AUTHOR
Yuval Kogman <nothingmuch@woobling.org>
view all matches for this distribution
view release on metacpan or search on metacpan
specific versions no longer works.
+ 2001/03/29 vers 1.02 & 1.03
Changes from Raphael Manfredi <Raphael_Manfredi at pobox.com> to
add serialize method callbacks using Storable.
In addition Callback now dies if a method for a method callback
does not exist at the time of creation.
+ 2000/08/22 vers 1.02
view all matches for this distribution