"be consistent" PerlMonks

### Re: The Perl Review

by jackdied (Monk)
 on Feb 02, 2002 at 09:41 UTC ( #142904=note: print w/replies, xml ) Need Help??

in reply to The Perl Review

Here are mine,

Update : since I didn't understand anyone elses (give or take) I've added explanations to mine

The first is obvious (51 chars)
The second is stated in a couple different ways (43 chars, 50 chars obfu'd)

```sub obvious{
#  (explained : count from zero until Z, return the current count if w
+e found the position we are looking for)
#        1         2         3         4         5         6
#23456789012345678901234567890123456789012345678901234567890
\$n=pop;for(;\$n ne((0..9),(A..Z))[\$a];\$a++){}"\$a"||0;
}
This one is more fun, it uses bitwise arithmatic to get the solution. The commented line is the same as the first, but more obfu
```sub fun {
# (explained : reduce the numbers to their base2 (binary)
# representation.  we always care about the
# lowest four bits (\$n & 0x1111 is \$n & 15).  If the ord of
# the number is in the A-Z range the 7th bit will be set
# (\$n >> 6) will be true.  In this case, also include the
# 6th bit in the number (\$n & 31) instead of (\$n & 15).
# Since A-Z starts at ten, add 9 as well)
#        1         2         3         4         5         6
#23456789012345678901234567890123456789012345678901234567890
\$n=ord(pop);\$a=(\$n>>6)?((\$n&31)+9):(\$n&15);
# same thing, but obfu
# \$n=ord(pop);\$a=(\$n&(1<<(4+(\$n>>6)))-1)+(\$n>>6&&9);
}

Enjoy, or not, at your leisure.

-jackdied

PS, posting with mozilla is the biggest pain in the ass ever. It tries to do smart things with wrapping in a text box, and translating spaces and returns for you with some AI that makes posting code hell.

Create A New User
Node Status?
node history
Node Type: note [id://142904]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2017-12-18 11:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
What programming language do you hate the most?

Results (483 votes). Check out past polls.

Notices?