- or download this
package MyPackage;
sub new {
...
package main;
my $a = MyPackage::->new(1);
- or download this
package main;
my $b = $a;
- or download this
my $c = $a + $b;
- or download this
package MyPackage;
use overload q/+/ => \&add;
...
sub add {
$_[0]->new( $_[0]->{foo} + (ref($_[1]) ? $_[1]->{foo} : $_[1]) )
}
- or download this
package main;
my $c = $a + $b;
- or download this
$b++;
- or download this
package MyPackage;
use overload q/++/ => sub { $_[0]->{foo}*=2; shift };
...
package main;
$d = $c;
$d++;
- or download this
package MyPackage;
use overload q/=/ => sub { $_[0]->new($_[0]->{foo}) };
- or download this
package main;
$d = $c;
- or download this
$d++;