<br><font size=2><tt>Well, here's my $0.02. &nbsp;</tt></font>
<br>
<br><font size=2><tt>I would recommend caution regarding the trashing of
Perl. &nbsp;One thing I've been very impressed with on this list (and other
segments of the Python community) is the _fairly_ cordial relationship
between the supporters of the two languages. &nbsp;Contrast that to a lot
of PHP literature I've seen, which doesn't even acknowledge that Perl exists.
&nbsp;My theory is that many who use PHP got kicked around by trying to
learn Perl, and bitterness set in. &nbsp;But that's a digression... &nbsp;Anyway,
I'm on the fence as to whether I want to learn Python (not exactly a &quot;core
competency&quot; for statisticians, but I do line the numerical computation
capabilities which look _much_ better than those of Perl), and I wouldn't
want this negativity to push me (or others) away.</tt></font>
<br>
<br><font size=2><tt>I'll try to speak to a few of the points below, from
my limited experience:</tt></font>
<br><font size=2><tt><br>
<br>
&gt; Had the *ahem* joy of learning Perl last night. Egad. Wrote the script<br>
&gt; in Python to get it right, and then 'translated' it to Perl. Does
the<br>
&gt; style of coding Python engenders suit the Perl environment in anyone's<br>
&gt; experienc? AFAI can see there is no real 'style' to Perl, apart from<br>
&gt; white noise of non alphanumeric characters.<br>
</tt></font>
<br><font size=2><tt>Actually, because there is &quot;more than one way
to do it&quot;, you can impose any style you want on your code, and (in
my opinion) the onus _should_ be on the user to use &quot;proper&quot;
style, however you want to define that. &nbsp;As Larry Wall says in the
excellent &quot;Natural Language Principals in Perl&quot;, &quot;It's officially
okay in the Perl realm to program in the subset of Perl corresponding to
sed, or awk, or C, or shell, or BASIC, or Lisp or Python&quot;.</tt></font>
<br><font size=2><tt>&nbsp;<br>
&gt; 1) I'll use Perl for the regex stuff from now on, Perl is obviously<br>
&gt; built for this.<br>
</tt></font>
<br><font size=2><tt>No tool is better than Perl for that, IMO.</tt></font>
<br><font size=2><tt>&nbsp;<br>
&gt; 2 ) There's More Than One Way To Do It makes debugging hard - i.e.
<br>
&gt; close INFILE; &amp; close (INFILE); are both valid. I like one syntax,
cos<br>
&gt; it's easier to remember.<br>
</tt></font>
<br><font size=2><tt>Many people see &quot;there's more than one way to
do it&quot; as a good thing.</tt></font>
<br><font size=2><tt>&nbsp;<br>
&gt; 3) Some stuff is counter-intuitive - <br>
&gt; $lenOfModList = @moddirList is the Perl equivalent of lenofModList
=<br>
&gt; len(moddirList)<br>
&gt; @someArray = (@someArray, $newValue) is the same as someArray.append(newValue)<br>
</tt></font>
<br><font size=2><tt>It's only counter-intuitive if you don't know the
language. &nbsp;Once you know the language, it's very intuitive. &nbsp;One
could say that the theory of relativity is counter-intuitive, but to a
physicist (or even anyone else who's thought about it for a while) it _is_
intuitive. &nbsp;It's all about context and perspective. &nbsp;Speaking
of context, once you understand the concept of &quot;context&quot; in Perl,
the statements above are very intuitive -- and elegant -- in my opinion.</tt></font>
<br>
<br><font size=2><tt><br>
&gt; Also, why doesn't if ( not $d eq &quot;a&quot; &amp;&amp; not $d eq
&quot;c&quot;) evaluate to<br>
&gt; true for $d = &quot;b&quot; when<br>
&gt; if (not $d eq &quot;a&quot;) evals to true and if ($d ne &quot;a&quot;
&amp;&amp; $d ne &quot;c&quot;) evals<br>
&gt; true also? What's with that?<br>
</tt></font>
<br><font size=2><tt>Must be an order-of-operations or logic thing, and
I can assure you -- without even looking at it much -- that the problem
isn't Perl's.</tt></font>
<br><font size=2><tt>&nbsp;<br>
&gt; 4) WHAT IS WITH THE STUPID SYMBOLS EVERYWHERE LARRY??!!<br>
&gt; <br>
&gt; I'm not referring to the $ &amp; @, I can see how they could be useful,<br>
&gt; although with a list -<br>
&gt; <br>
&gt; @dude = (1, 2, 3), to obtain the 2nd value I would expect $d = @dude[1],
<br>
&gt; not $d &nbsp;= $dude[1], that's counterintuitive also. <br>
</tt></font>
<br><font size=2><tt>The definition of &quot;counterintuitive&quot; is
based on context. &nbsp;That stuff is very intuitive when you understand
the language.</tt></font>
<br><font size=2><tt>&nbsp; &nbsp;<br>
&gt; Oh, no, what I'm referring to is stuff like @_, and @!, and @indexFile<br>
&gt; = &lt;INFILE&gt; to read a whole file, and this - I hate Perl for
this -<br>
&gt; open OUTFILE, &quot;&gt;c:/python23/j/index.htm&quot;<br>
 <br>
&gt; What's the difference between<br>
&gt; open OUTFILE, &quot;c:/python23/j/index.htm&quot; &nbsp; and<br>
&gt; open OUTFILE, &quot;&gt;c:/python23/j/index.htm&quot; ?<br>
&gt; <br>
&gt; The first will open index.htm with the handle OUTFILE, to read...
<br>
&gt; The second will open index.htm with the handle OUTFILE to write!.<br>
</tt></font>
<br><font size=2><tt>So? &nbsp;That's the syntax of the language. I don't
know why that would be bothersome...</tt></font>
<br><font size=2><tt>&nbsp;<br>
&gt; Of course, the documentation I had didn't mention that. It just said<br>
&gt; to open it and use<br>
&gt; print FILEHANDLE $value; to write. Oh no, I had to find a CGI Perl<br>
&gt; tutorial, which mentioned using &amp;lst; to open and &amp;gst; to
write (or<br>
&gt; something), which I guessed as lesser/greater than.<br>
&gt; <br>
&gt; Why is the read/write modifier part of the filename??? Why is it a
&gt; ?<br>
&gt; In my opinion, there's only one place a &gt; sign should be, in an<br>
&gt; inequality test.<br>
</tt></font>
<br>
<br><font size=2 face="sans-serif"><br>
Nicholas Montpetit<br>
Deluxe Business Services<br>
651-787-1008</font>