If you are trying to access this from modules, I wouldn't use a Mason or mod_perl feature. Instead, create a singleton at the beginning of each request, and give it accessors for each "global" value you want to store.
e.g. MyApp->globals->msg('foo'); where MyApp->globals is a request-specific singleton with a number of accessors. On Dec 5, 2007, at 4:00 PM, Anthony Ettinger wrote: > On Dec 5, 2007 3:41 PM, Perrin Harkins <[EMAIL PROTECTED]> wrote: >> On Dec 5, 2007 6:33 PM, Anthony Ettinger <[EMAIL PROTECTED]> wrote: >>> In effect, I just want this thing to die off at the end of each http >>> request, and not shared between other users of the application. >> >> Use mod_perl's $r->pnotes(). It will be cleaned out for you at the >> end of each request, even if your code dies. >> >> - Perrin >> > > Here's an example of what I need: > > ./pages/autohandler > > <%init> > $m->notes('msg') = new UI::Msg; > my $msg = $m->notes('msg'); > </%init> > > Now any where in the request, as far as mason components go, I can use > $msg->err("This is an error"); > BUT...suppose there is a mason component that uses a DB object: > > ./parts/form > > <%once> > use DB::Contacts; > </%once> > > <%init> > my $customer = DB::Contacts->search_where({ 'email' => $ARGS{'email'} > }); #could be "bad email address" > ... > </%init> > > Now I would like the module DB::Contacts to have access to the $msg > object created in the autohandler. > So within it, if it receives an invalid "email", it could return > undef, and add an error: > > package DB::Contacts; > .... > sub search_where { > my $self = shift; > my $param = $_[0]->{'email'}; > > $msg->err("Invalid email.") unless $param m/\@/; #no "@" is invalid > (stupid I know) > } > ... > 1; > > Is this possible to have perl libraries access the $msg object defined > inside a mason autohandler? And not be shared or live beyond the > current request? > > -- > Anthony Ettinger > 408-656-2473 > http://anthony.ettinger.name > > var (bonita, farley) = new Dog; > farley.barks("very loud"); > bonita.barks("at strangers"); > ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ Mason-users mailing list Mason-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mason-users