Attribute-Overload-Match
view release on metacpan or search on metacpan
use strict;
use warnings;
use Attribute::Overload::Match;
use Test::More tests => 6;
no warnings 'redefine';
BEGIN { use_ok('Attribute::Overload::Match'); }
require_ok('Attribute::Overload::Match');
sub new($) { my $x = $_[0]; bless \$x, __PACKAGE__ }
sub val($) { ${$_[0]} }
sub eq : op(==) { val(shift) == shift }
sub subtract : op(-) { new val(shift) - shift }
sub mul : op(*) { new val(shift) * shift }
sub add : op(+) { new val(shift) + shift }
sub div : op(+) { new val(shift) / shift }
sub qq : op("") { val(shift) }
sub le : op(<) { val(shift) < shift }
sub fac : op(!,1) { new 1 }
sub fac : op(!) { !($_[0] - 1) * $_[0] }
( run in 0.569 second using v1.01-cache-2.11-cpan-65fba6d93b7 )