From: <dx...@zo...> - 2006-06-06 02:25:19
|
The >= and <= operators are missing from this code in the perl5 module and hence don't get overloaded properly. This patch adds them in. PS. I suspect that one needs to be subscribed to the list to post to it - I wasn't able to post last time until I subscribed. This is fine by me, but it'd be good if people knew! Can someone confirm or deny this? $ diff -u perl5.cxx{-orig,} --- perl5.cxx-orig 2006-05-12 13:17:03.000000000 +1000 +++ perl5.cxx 2006-06-05 11:55:38.000000000 +1000 @@ -1211,10 +1211,14 @@ Printv(pm, tab4, "\"|\" => sub { $_[0]->__or__($_[1])},\n",NIL); } else if (strstr(name, "__gt__")) { Printv(pm, tab4, "\">\" => sub { $_[0]->__gt__($_[1])},\n",NIL); + } else if (strstr(name, "__ge__")) { + Printv(pm, tab4, "\">=\" => sub { $_[0]->__ge__($_[1])},\n",NIL); } else if (strstr(name, "__not__")) { Printv(pm, tab4, "\"!\" => sub { $_[0]->__not__()},\n",NIL); }else if (strstr(name, "__lt__")) { Printv(pm, tab4, "\"<\" => sub { $_[0]->__lt__($_[1])},\n",NIL); + }else if (strstr(name, "__le__")) { + Printv(pm, tab4, "\"<=\" => sub { $_[0]->__le__($_[1])},\n",NIL); } else if (strstr(name, "__pluseq__")) { Printv(pm, tab4, "\"+=\" => sub { $_[0]->__pluseq__($_[1])},\n",NIL); } else if (strstr(name, "__mineq__")) { @@ -1314,6 +1318,7 @@ have_operators = 1; } else if (Strstr(symname, "__str__")) { DohSetInt(operators,"__str__",1); + have_operators = 1; } else if (Strstr(symname, "__add__")) { DohSetInt(operators,"__add__",1); have_operators = 1; Regards, Daniel |