fixed numeric opperators
authormiker <miker@9efc2488-bf62-4759-914b-345cdb29e865>
Thu, 3 Mar 2005 16:02:37 +0000 (16:02 +0000)
committermiker <miker@9efc2488-bf62-4759-914b-345cdb29e865>
Thu, 3 Mar 2005 16:02:37 +0000 (16:02 +0000)
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@161 9efc2488-bf62-4759-914b-345cdb29e865

src/perlmods/JSON.pm

index cbdbc3e..1b86899 100644 (file)
@@ -5,7 +5,14 @@ sub new {
        return bless \$x => __PACKAGE__;
 }
 use overload ( '""' => \&toString );
-use overload ( '0+' => sub { ${$_[0]} } );
+use overload ( '0+' => sub { $_[0]->toString } );
+use overload ( '+' => sub { int($_[0]) + int($_[1]) } );
+use overload ( '-' => sub { int($_[0]) - int($_[1]) } );
+use overload ( '*' => sub { int($_[0]) * int($_[1]) } );
+use overload ( '/' => sub { int($_[0]) / int($_[1]) } );
+use overload ( '%' => sub { int($_[0]) % int($_[1]) } );
+use overload ( '**' => sub { int($_[0]) ** int($_[1]) } );
+use overload ( 'neg' => sub { neg(int($_[0])) } );
 
 sub toString { defined($_[1]) ? ${$_[1]} : ${$_[0]} }