Traditionally, a developer has been conditioned to create temporary databases or temporary working files outside of program code to leverage "database oriented" operations.  In Perl, the technique for leveraging arrays defined and stored inside another array is scary for the novice developer.  It's hard to wrap your head around having any type of array as an element inside another array.  Using this technique is not impossible but requires some practice to master its use.  After a few times of performing some simple applications of the technique such as multiple hashes stored in a list array whose elements are unique persons, it becomes a brain-dead technique to incorporate into your code and becomes an essential in leveraging the utility for sorting/traversing arrays.  I will use this technique when the amount of data is light and relatively small and output is generally for utility reporting.  Multidimensional arrays does consume memory, however memory is fairly abundant these days and can handle fairly substantive arrays.

Perl is an excellent "Swiss Army Knife" of the script oriented languages.  It shines when you have the need for decomposing unstructured data in order to make sense of it and report on it.  This is my first tool to go to for collapsing a collection of related data within groups of collections (e.g. parsing through LDIF or XML formatted data).

Perl is an evolving language though very mature.  Object orientation is rather crude and a backport somewhere in version 4 or 5 though a foundational design feature in version 6.  "Moose" is a package that was developed to simplify the usage of the klunky perl object orientation.  

Perl is modular, it is highly and easily extendible. There is a very rich ecosystem at that actively supports packages that extend the base functional capability of Perl.  The downside when comparing Perl with other robust scripting languages, is how it lags behind in the packages incorporated into the base installation that support modern needs.

Friday 28th of February 2020 -  Copyright 2016 Allan Wolfe