On Thu, Jul 03, 2003 at 02:51:23PM -0400, Perrin Harkins wrote:
> On Thu, 2003-07-03 at 13:38, Peter Ensch wrote:
> > I'm using CGI::Application and this part of the code happens inside
> > the cgiapp_init() method which I'm overriding:
> > 
> > our $USERS : unique = "/path/to/users.dat";
> > 
> > sub cgiapp_init {
> >  my $self = shift;
> >  $self->param('users' => require ${\$USERS});
> > }
> 
> That's confusing code.  Your users.dat file is a chunk of code that
> returns a value that you use?  A little obscure, in my opinion.  And
> what's that stuff with the ref/de-ref syntax for?

The file contains a simple hash ref. like
{
  duck => 'quack',
  dog  => 'woof',
  cat  => 'meow',
}

The ref/de-ref was a mistake; a hold over from when USERS was a 
constant (and which didn't interpolate in a require). Now it's 
  $self->param('users' => require $USERS);

> 
> > So, to reiterate, I may write to users.dat on one transaction
> > and read on another; the file contents is always up-to-date.
> 
> The file is up-to-date, or the param 'users' is?
> 

The file is. IE. it gets written and and the new stuff is available
by simply reloading the page.

> Why don't you debug it a little by putting a warn statement in your
> users.dat file that prints the process ID?  Then you can tell if it is
> truly being executed more than once by the same process.
> 

Hmm. Not sure how to do that w/out messing w/ the headers and 
making the app. crash. How would I do that?

P

-- 

^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
Peter Ensch,
[EMAIL PROTECTED]           A-1140   (214) 480 2333
^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^

Reply via email to