Hoping someone can just give me some guidance, so I can safely unload the gun before shooting myself in the foot. ;)

I have a module that saves some data to a site-specific directory; the module will be used by several sites hosted on the same physical server. Therefore I have a method that sets the directory; but I made it a class method, so that I could set it once like

use MyModule; MyModule->save_dir('/siteX/some/dir');

and then initialize a bunch of instances of the MyModule object.

Then a sudden fear strikes me - will a script using MyModule running at siteX and setting the directory accordingly, interfere with the same script that will be called from siteY (and therefore setting the directory property to another directory)? What I mean is, will it be safe for two scripts identical except running on different virtual servers and setting a different directory variable, interfere with each other? My thought was that I'd be OK but like I said, a sudden panic attack struck me ;)

Here are the class data methods:

# class data and class method accessors { my $ERROR = ''; my $POST_DIR = ''; sub error { my $self = shift; my $class = ref($self) || $self; # get class of object +if called as instance method if (@_) { $ERROR = $class . ' error: ' . shift; } return $ERROR; } sub post_dir { my $self = shift; $POST_DIR = shift if @_; return $POST_DIR; } }

I hope what I'm asking is clear; let me know if not.
...Guv


In reply to OO module question re: class data vs. instance data by theguvnor

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.