<?xml version="1.0" encoding="windows-1252"?>
<node id="648221" title="Re^2: I think Perl ruined me as a programmer" created="2007-10-31 07:22:34" updated="2007-10-31 03:22:34">
<type id="11">
note</type>
<author id="399589">
w-ber</author>
<data>
<field name="doctext">
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;I still find myself reverting to Perl when I want to get something done.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;
Amen.
&lt;/p&gt;

&lt;p&gt;
If you think about it, Perl is a horrible mess. The implementation is the definition, and although both have had a benevolent dictator drawing guidelines, there's layers of fixes on fixes in both the language and the implementation. The documentation is full of exceptions to the rules it tries to describe. The core language is quite huge, even if you don't have to know all of it, and the built-in function list makes many programmers of other programming languages shudder.
&lt;/p&gt;

&lt;p&gt;
Yet the reason it is effective in solving various practical problems is precisely because solutions to practical problems have been made easy. If you want to find all strings matching certain description, just write the description as a regular expression and use it. No need to load libraries or fight with baroque syntax. If you want to loop over all lines in a text file, just use the diamond operator. 
Although this isn't part of the language implementation, if you don't want to solve a problem again, download a module for CPAN.
&lt;/p&gt;

&lt;p&gt;
Perl is not pretty, but it's the best tool I know of. If I were a driver or operating system programmer, I would probably make similar arguments in favour of C (which is not a nice programming language but also gets the job done).
&lt;/p&gt;


&lt;div class="pmsig"&gt;
&lt;div class="pmsig-399589"&gt;
&lt;p&gt;
-- &lt;br&gt;
print "Just Another [href://http://prometheus.frii.com/~gnat/yapc/2000-stages/slide25.html|Perl Adept]\n";
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;</field>
<field name="root_node">
648156</field>
<field name="parent_node">
648162</field>
</data>
</node>
