Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: Can you spot the problem?

by ambrus (Abbot)
on Mar 05, 2004 at 18:59 UTC ( #334326=note: print w/ replies, xml ) Need Help??


in reply to Can you spot the problem?

I wonder weather this code could possibly work in perl6, where the | operator will mean something else (see Exegesis 6).


Comment on Re: Can you spot the problem?
Re: Re: Can you spot the problem?
by TimToady (Parson) on Mar 05, 2004 at 19:48 UTC
    Works if you change the all the |s to &s. (Plus you can omit the parens if you're golfing, since junctions now bind tighter than comparisons. Well, okay, you can omit the parens even if you're not golfing.)

      I'd rather leave the |'s and change the comparison from "if ... <256" to "unless ... >255". That way the puzzle still works in perl5.

        I like making it all into one logical return expression, with no conditionals.

        Without the two character fix/spoiler:

        sub isValidIP { return (shift =~ m/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/ and (($1|$2|$3|$4) + < 256)); }
        Update: I wasn't offering a Perl 6 solution, despite the subthread my response was in. That would be
        return (shift =~ m/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/ and not (($1|$2|$3 +|$4) > 255));

        The PerlMonk tr/// Advocate

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (8)
As of 2014-07-30 02:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (229 votes), past polls