Venus::Role::Deferrable - Deferrable Role
Deferrable Role for Perl 5
package Example; use Venus::Class; with 'Venus::Role::Deferrable'; sub test { my ($self, @args) = @_; return $self->okay(@args); } sub okay { my ($self, @args) = @_; return [@args]; } package main; my $example = Example->new; # my $code = $example->defer('test'); # sub {...} # $code->(); # [...]
This package provides a mechanism for returning callbacks (i.e. closures) that dispatches method calls.
This package provides the following methods:
defer(string $method, any @args) (coderef)
The defer method returns the named method as a callback (i.e. closure) which dispatches to the method call specified.
Since 1.80
1.80
# given: synopsis package main; $example = Example->new; # bless({}, 'Example') # my $result = $example->defer('test', 1..4); # $result->(); # [1..4]
# given: synopsis package main; $example = Example->new; # bless({}, 'Example') # my $result = $example->defer('test', 1..4); # $result->(1..4); # [1..4, 1..4]
# given: synopsis package main; $example = Example->new; # bless({}, 'Example') # my $result = $example->defer; # $result->(); # bless({}, 'Example')
Awncorp, awncorp@cpan.org
awncorp@cpan.org
Copyright (C) 2000, Awncorp, awncorp@cpan.org.
This program is free software, you can redistribute it and/or modify it under the terms of the Apache license version 2.0.
To install Venus, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Venus
CPAN shell
perl -MCPAN -e shell install Venus
For more information on module installation, please visit the detailed CPAN module installation guide.