Re: [SLUG] Python vs Perl

From: Derek Glidden (dglidden@illusionary.com)
Date: Thu May 10 2001 - 16:26:38 EDT


edoc wrote:

 
> 2. If we in the Linux world are looking towards demonstrating Linux as
> better than Windows then one of those "better than" things is complete
> cross-platform compatibility ... which would tip the scales slightly towards
> Perl. (I don't know either so I don't have a dog in this "fight".)

Actually, I'd say they're both just about even. There are syntactical
changes in both languages you have to take into account when writing for
"real" operating systems versus Windows, but Smart Programmers(tm) use
the cross-platform modules in Perl that virtualize stuff like directory
separators and whatnot, and I think Python has similar mechanisms.

Python tends to have "built-in" bindings for platform windowing widget
sets, while Perl relies on external modules for most of that sort of
thing.
 
> 3. Isn't there something I read somewhere about a "container" for Perl
> that forces some discipline upon the developer? (Sorry, that's all I can
> recall from my fragmented brain-hdd.)

  #!/usr/bin/perl -w
  use strict;

Strict-mode is about as "disciplined" as Perl can be. :)

It catches a lot of the "uninitialized variable" type of Stupidbugs
(like using $wiget in one place and $widget in another and wondering why
the variables keep eval'ing wrong) but still lets you make complete and
utter hash of the syntax if you feel like it.

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#!/usr/bin/perl -w
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=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);if((@a=unx"C*",$_)[20]&48){$h=5;$_=unxb24,join
"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$d=
unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*
8^$q<<6))<<9,$_=$t[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}
print+x"C*",@a}';s/x/pack+/g;eval 

usage: qrpff 153 2 8 105 225 < /mnt/dvd/VOB_FILENAME \ | extract_mpeg2 | mpeg2dec -

http://www.eff.org/ http://www.opendvd.org/ http://www.cs.cmu.edu/~dst/DeCSS/Gallery/



This archive was generated by hypermail 2.1.3 : Fri Aug 01 2014 - 17:11:40 EDT