Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: Smartmatch alternatives

by cavac (Parson)
on Dec 17, 2013 at 15:25 UTC ( [id://1067481]=note: print w/replies, xml ) Need Help??


in reply to Re: Smartmatch alternatives
in thread Smartmatch alternatives

Looks nice.

Does the overloaded operator have any side effects on normal bitwise operations?
"I know what i'm doing! Look, what could possibly go wrong? All i have to pull this lever like so, and then press this button here like ArghhhhhaaAaAAAaaagraaaAAaa!!!"

Replies are listed 'Best First'.
Re^3: Smartmatch alternatives
by tobyink (Canon) on Dec 17, 2013 at 16:25 UTC

    It shouldn't do, unless your smart match operands also happen to be objects that override bitwise-or. (For example, Math::BigInt does.)

    The match($a, $b) function really is saner though. And faster for that matter. (Though the real smartmatch operator beats each hands down!)

    use v5.18; use match::simple -all; use Benchmark qw( cmpthese ); $::A = 3; $::B = [1 .. 5]; cmpthese(-1, { 'match' => q[ match($::A, $::B) ], 'M' => q[ $::A |M| $::B ], '~~' => q[ no warnings 'experimental::smartmatch'; $::A ~~ $::B + ], }); __END__ Rate M match ~~ M 11487/s -- -69% -99% match 36540/s 218% -- -97% ~~ 1420284/s 12265% 3787% --

    Anybody willing to provide a patch for an XS implementation of match::simple::match() would be likely to have it accepted. ;-)

    use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1067481]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (6)
As of 2024-04-24 09:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found