<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:tahoma, new york, times, serif;font-size:12pt"><DIV></DIV>
<DIV>Not sure, and this may be a stupid answer, but could it be you didn't tie the second variable? Its hard for me to&nbsp;debug&nbsp;out of context.<BR><BR>&nbsp;</DIV>---<BR>Mark Mertel<BR>206.441.4663<BR>mark.mertel@yahoo.com<BR>http://www.linkedin.com/in/markmertel<BR>http://www.seattlejobs.com/13147468
<DIV><BR></DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: tahoma, new york, times, serif"><BR>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif"><FONT face=Tahoma size=2>
<HR SIZE=1>
<B><SPAN style="FONT-WEIGHT: bold">From:</SPAN></B> Peter Darley &lt;pdarley@kinesis-cem.com&gt;<BR><B><SPAN style="FONT-WEIGHT: bold">To:</SPAN></B> spug-list@pm.org<BR><B><SPAN style="FONT-WEIGHT: bold">Sent:</SPAN></B> Friday, March 20, 2009 12:35:40 PM<BR><B><SPAN style="FONT-WEIGHT: bold">Subject:</SPAN></B> SPUG: Confusing behaivior with exported variables<BR></FONT><BR>
<STYLE>
<!--
 
 _filtered {font-family:"Cambria Math";panose-1:2 4 5 3 5 4 6 3 2 4;}
 _filtered {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}
 
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;margin-bottom:.0001pt;font-size:11.0pt;font-family:"Calibri", "sans-serif";}
a:link, span.MsoHyperlink
        {color:blue;text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;text-decoration:underline;}
span.EmailStyle17
        {font-family:"Calibri", "sans-serif";color:windowtext;}
.MsoChpDefault
        {font-size:10.0pt;}
 _filtered {margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {}
-->
</STYLE>

<DIV class=Section1>
<P class=MsoNormal>Folks,</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; It’s been a long time since I’ve bugged y’all with a stupid question, but I’ve got a new one so I’m hoping someone can help me out.</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The problem is with exporting variables, and having them available to both a script that uses the module exporting the variable, and the module it’s self.&nbsp; I have two modules, one on a machine at work and one on a machine at home.&nbsp; Both are doing something that looks super similar to me.</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; At work I have: </P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>package Neo::Web;</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>use ...</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>use CGI qw/:standard/;</P>
<P class=MsoNormal>use CGI::Cookie;</P>
<P class=MsoNormal>use Apache::DBI;</P>
<P class=MsoNormal>use Apache::Session::Postgres;</P>
<P class=MsoNormal>use Data::Dumper;</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>BEGIN </P>
<P class=MsoNormal>{</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use Exporter&nbsp;&nbsp; ();</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @ISA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = qw(Exporter);</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @EXPORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = qw(%Session $SessionID </P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; &amp;TieSession &amp;UntieSession ... );</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ConnectDB(DBName=&gt;'Sessions');</P>
<P class=MsoNormal>}</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>sub TieSession</P>
<P class=MsoNormal>{</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tie %Session, 'Apache::Session::Postgres', $SessionID, {Handle=&gt;$Neo::DB::Sessions, Commit=&gt;0};</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $SessionID = $Session{_session_id};</P>
<P class=MsoNormal>}</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The scripts using this package can get at %Session, and this module can get at %Session.&nbsp; They are the same variable and have the same contents.</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; At home I have:</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>package Darley::Supers;</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>use ... ;</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>use Data::Dumper;</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>BEGIN </P>
<P class=MsoNormal>{</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my (%CurrentUser);</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use Exporter&nbsp;&nbsp; ();</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @ISA&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = qw(Exporter);</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @EXPORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = qw(%CurrentUser</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&amp;Power &amp;Challenge &amp;GetUser &amp;GetOrg &amp;GetCity);</P>
<P class=MsoNormal>}</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>sub SetCurrentOrgSetting</P>
<P class=MsoNormal>{</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my (%Args) = @_;</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # Args: Setting = Setting to store</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Value = Value to store</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StoreOrgSetting(OrgID=&gt;$CurrentUser{Org}{org_id}, Setting=&gt;$Args{Setting}, Value=&gt;$Args{Value});</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $CurrentUser{Org}{Settings}{$Args{Setting}} = $Args{Value};</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 1;</P>
<P class=MsoNormal>}</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; And the script using this module can get at %CurrentUser, but when this package uses it, it’s empty.&nbsp; I can’t figure out why the exported hash is the same in the first example, but has two different values in the second.</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>Thanks for any help,</P>
<P class=MsoNormal>Peter</P>
<P class=MsoNormal>&nbsp;</P>
<P class=MsoNormal>&nbsp;</P></DIV></DIV></DIV></div><br>

      </body></html>