http://www.perlmonks.org?node_id=1017165


in reply to parsing help required

One very nice feature of Perl that can help here (which of course is why it’s here ...) is called autovivification:   “to come to life automatically.”   It lets you write code like this:

$$usercounts{$name} += $howmany; ...
(or equivalently: $usercounts->{$name} += $howmany; ...)

... and simply not have to worry about whether the hashref $usercounts already contains an entry for $name.   If it does, cool.   But if it doesn’t, an entry is automagically created for you with an initial value of zero (because Perl knows that you’re going to add something to it).   Then, either way, the addition operation happens and life is good.

One of the things that I definitely like about this language is its pragmatism.   It’s a tool for the job, designed and built by people who had a job to do.   Maybe in a few cases it tips a bit too far in the name of “DWIM = Do What I Mean,” but generally it’s both powerful and expressive, both in a practical way.