[Purdue-pm] Perl 5 programming challenge

Phillip San Miguel pmiguel at purdue.edu
Tue Jan 12 12:51:24 PST 2010


Mark Senn wrote:
> I came across the following when doing normal work for my job.
>
> Using the following
> ==== start with next line
>        0 NUL   1 SOH    2 STX    3 ETX    4 EOT    5 ENQ    6 ACK    7 BEL
>        8 BS    9 HT    10 NL    11 VT    12 NP    13 CR    14 SO    15 SI
>       16 DLE  17 DC1   18 DC2   19 DC3   20 DC4   21 NAK   22 SYN   23 ETB
>       24 CAN  25 EM    26 SUB   27 ESC   28 FS    29 GS    30 RS    31 US
>       32 SP   33 !     34 "     35 #     36 $     37 %     38 &     39 '
>       40 (    41 )     42 *     43 +     44 ,     45 -     46 .     47 /
>       48 0    49 1     50 2     51 3     52 4     53 5     54 6     55 7
>       56 8    57 9     58 :     59 ;     60 <     61 =     62 >     63 ?
>       64 @    65 A     66 B     67 C     68 D     69 E     70 F     71 G
>       72 H    73 I     74 J     75 K     76 L     77 M     78 N     79 O
>       80 P    81 Q     82 R     83 S     84 T     85 U     86 V     87 W
>       88 X    89 Y     90 Z     91 [     92 \     93 ]     94 ^     95 _
>       96 `    97 a     98 b     99 c    100 d    101 e    102 f    103 g
>      104 h   105 i    106 j    107 k    108 l    109 m    110 n    111 o
>      112 p   113 q    114 r    115 s    116 t    117 u    118 v    119 w
>      120 x   121 y    122 z    123 {    124 |    125 }    126 ~    127 DEL
> ==== end with previous line
> in a here document set up an array @print in Perl 5 so that elements
>     0..31 are '.'
>     32 is ' '
>     33..126 are as listed
>     127 is '.'
>     128..255 is '.'
>
> I'll show my solution (that doesn't use chr, do, for, if, ord, sub,
> while, until) at next meeting and would like to see other solutions with
> or without the parenthesized restraint above.    -mark
>
>   
To which Rick bragged:

> My solution is 2 lines (statements) long (not counting the 2 I/O 
> statements) and like Mark's solution does not include any explicit 
> chr, do, for, if, ord, sub, while or until.   It will interesting to 
> see what Mark and the rest of you come up with.
I demand to see a


use Data::Dumper;
print Dumper \@here;


of your @here!

I can't get below3 statements other than the heredoc assignment of 
Mark's string to $_. But I don't use grep or map.
Phillip




More information about the Purdue-pm mailing list