Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Re: Re: Luhn Number Golf

by chipmunk (Parson)
on Feb 26, 2002 at 22:15 UTC ( #147748=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Luhn Number Golf
in thread Luhn Number Golf

Unfortunately, you can't simply eliminate reverse. Cody Pendant explained why in the comments in his solution; if the number has an odd number of digits, you'll end doubling the wrong digits. For example, your solution would return true for 548979844, which is not a Luhn number.

You shouldn't eliminate my$s; either. That's not there for strict-ness, but to allow the subroutine to be called more than once. Without it, $s would keep its values between calls, throwing off all the subsequent answers.


Comment on Re: Re: Re: Luhn Number Golf
Re: Re: Re: Re: Luhn Number Golf
by blakem (Monsignor) on Mar 08, 2002 at 09:10 UTC
    If you aren't going for strictness, you can get the same initialization effect with
    ($_,$s)=@_
    Which is one char shorter than
    my$s;$_=pop
    If you also want to keep strictness, you can always sidestep it by replacing $s with a global punctuation variable.

    -Blake

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://147748]
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: (4)
As of 2014-09-21 05:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (166 votes), past polls