[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