<story><title>Perl first commit: a “replacement” for Awk and sed</title><url>https://github.com/Perl/perl5/commit/8d063cd8450e59ea1c611a2f4f5a21059a2804f1</url></story><parent_chain><item><author>unpythonic</author><text>When perl came out we were living in horrific times. You had the choice of either Bourne, C or Korn shell. Automation was glued together in one of these with a series of grep, awk, sed, ls, test, commands glued together. Anything more complicated was written in C and called from one of these things.&lt;p&gt;Perl in one stroke collapsed the programming of C, text manipulation, the capabilities of all of the Unix utilities, and data structures into one system. For anything which wasn&amp;#x27;t subsumed into the monolith of Perl, you could easy access via backticks. It was very friendly in dealing with text streams, and that&amp;#x27;s what those call-outs in those back ticks spoke.&lt;p&gt;Yes, awk and sed were replaced by Perl, but more importantly, the unmaintainable nightmare that glued all of it together was wiped out.</text></item></parent_chain><comment><author>imiric</author><text>&amp;gt; Automation was glued together in one of these with a series of grep, awk, sed, ls, test, commands glued together. Anything more complicated was written in C and called from one of these things.&lt;p&gt;This doesn&amp;#x27;t sound that horrific to me. It&amp;#x27;s the classic Unix approach of building small tools that do one thing well, and composing them in novel ways to solve problems. For any problem that can&amp;#x27;t be solved this way you write another small tool using your programming language of choice. Rinse and repeat.&lt;p&gt;But occasionally Unix attracts users and programmers who reject this approach, and who prefer building a monolithic tool, or in the case of Larry Wall, new programming languages. To be clear, I&amp;#x27;m a fan of Perl and think it has its place, especially in the era it came out. It inspired many modern languages, and its impact is undeniable.&lt;p&gt;Personally, I find solutions you refer to as &amp;quot;unmaintainable nightmare&amp;quot; to be simple and elegant, if used correctly. No, you probably shouldn&amp;#x27;t abuse shell scripts to build a complex system, and beyond a certain level of complexity, a programming language is the better tool. But for most simple processing pipelines, Unix tools are perfectly capable and can be used to build maintainable solutions.&lt;p&gt;The classic Knuth-Mcllroy bout[1] comes to mind. Would you rather maintain Knuth&amp;#x27;s solution or Mcllroy&amp;#x27;s?&lt;p&gt;[1]: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;matt-rickard.com&amp;#x2F;instinct-and-culture&quot; rel=&quot;nofollow noreferrer&quot;&gt;https:&amp;#x2F;&amp;#x2F;matt-rickard.com&amp;#x2F;instinct-and-culture&lt;/a&gt;</text></comment>
<story><title>Perl first commit: a “replacement” for Awk and sed</title><url>https://github.com/Perl/perl5/commit/8d063cd8450e59ea1c611a2f4f5a21059a2804f1</url></story><parent_chain><item><author>unpythonic</author><text>When perl came out we were living in horrific times. You had the choice of either Bourne, C or Korn shell. Automation was glued together in one of these with a series of grep, awk, sed, ls, test, commands glued together. Anything more complicated was written in C and called from one of these things.&lt;p&gt;Perl in one stroke collapsed the programming of C, text manipulation, the capabilities of all of the Unix utilities, and data structures into one system. For anything which wasn&amp;#x27;t subsumed into the monolith of Perl, you could easy access via backticks. It was very friendly in dealing with text streams, and that&amp;#x27;s what those call-outs in those back ticks spoke.&lt;p&gt;Yes, awk and sed were replaced by Perl, but more importantly, the unmaintainable nightmare that glued all of it together was wiped out.</text></item></parent_chain><comment><author>_2z1p</author><text>Not just the language itself but the whole ecosystem it brought with it was revolutionary.  CPAN was incredible.  There seemed like there was a module for just about anything!  Perldoc and a testing framework were built right in.  Regexes, backticks to shell out to the system, reporting built in.  It really was the whole package.</text></comment>