Monks, I come to you today with more of a philosophical question. I'm writing a script with about six highly interrelated subroutines -- at various points they all pass or get the same ten or so variables to or from each other. Most of these variables are hashes or arrays, so there's a lot of referencing and dereferencing going on as well. And in almost all cases, none of the subroutines are actually modifying these variables once they get them, just using them to calculate other things. My understanding of best practices is that everything should be contained to avoid any accidental contamination, and global variables should be used as little as possible. But in this case, a bunch of global variables would probably simplify things considerably. Is it still advisable to pass the variables and keep things local, or is it sometimes acceptable to keep a bank of globals?

In reply to Best practices with globals and subroutine arguments by Foxpond Hollow

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.