in reply to Site Wide Variables

use vars. Ignore the bit about it being obsolete; it isn't.

Replies are listed 'Best First'.
Re^2: Site Wide Variables
by Anonymous Monk on Aug 04, 2007 at 07:21 UTC
    I use that at the top of the cgi file:
    use vars qw($_mem $cookie $sess_id $sess_ref $logged_in $_pgtitle $_title %in $_un $_scripid $_req_dir $_pg $_page_content $_pageName $_surl %vars $_show_message $dbh $_dur_time $debug $inc_sess_id);
    The code $_mem is populated in the .cgi file, but below that code I pull in another file:
    require "/home/username/req/vars.conf";
    And I use $_mem in there and in other files I require into the document, but they often appear empty, when I do it this way:
    if($_mem) { # Do something here } else { # Nope it is empty }
    And it always runs the else statement because it shows empty in the .conf file, but in the .cgi file it is populated.

    Am I doing something wrong?
    Does calling it vars.conf and not putting a perl interpreter call into it, make a difference? (In other words would it work better if I made it vars.cgi and put the #! shebang line in it?)

    thank you
    Junior
      Does calling it vars.conf and not putting a perl interpreter call into it, make a difference? (In other words would it work better if I made it vars.cgi and put the #! shebang line in it?)

      No no, you definitely want to require it. As a require'd file, the shebang line and filename "extension" are not special.

      As for what's really going wrong, it's hard to say without seeing more of your code.

      A word spoken in Mind will reach its own level, in the objective world, by its own weight