Perl objects are a reference to something (hash, scalar, array, code, ... - it doesn't much matter what) with a little magic stirred in. See Not quite an OO tutorial for a light weight introduction to Perl OO.

The trap in Perl is that, without strictures (use strict; use warnings; - which you should always use btw.) you can do some pretty hairy stuff that looks like it might be fine and just what you want to do, but is really full of nasty lurking traps. The nasty thing that most often looks ok is called "symbolic references" where you use the contents of a variable to access another variable by name. Pretty much always you can replace the referenced variable by a hash element where the variable name is the key to the hash.

For the task at hand it is convenient to turn the hash into an object that knows how to parse an input file (or whatever) and provides convenient access to the parsed variables. This is a pretty light weight use of OO, but it is likely to provide significant payback if you need to add value to the data, like combining the values of actual variables into pseudo variables which can be accessed just like the actual variables.

True laziness is hard work

In reply to Re^3: trouble with evaluate by GrandFather
in thread trouble with evaluate by genghis

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.