Hey all,
Been reading the list for a little while, and had sort of a philosophy
question for the group. I've been trying to learn Perl for some time (in
fact, my company has offered to pay for me to take a Sun course on it).
In the mean time I've been reading through the standard Perl books
(Learning
Perl and Programming Perl for starters), and trying to get an
understanding.
I'm starting to get the gist of the language (understanding how arrays
work,
functions, regex, etc), but my problem is how to "think" in a programming
style. By that I mean how do I approach a possible perl program (like I
want
to do A, how do I go about doing it). What have people done/read/whatever
to "think" in a perl state of mind.
As I said, I've been trying for some time to learn Perl, but it seems like
this is a hump I can't figure out how to get over.
Thanks ahead of time for any advice,
Tom
--
#!/usr/bin/perl -w # 526-byte qrpff, Keith Winstein and Marc Horowitz
<[EMAIL PROTECTED]> # MPEG 2 PS VOB file on stdin -> descrambled output
on stdout # arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=($t=255)&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9
,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t
^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271))
[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval