Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

unexpected "inner references" error from untie()

by papidave (Pilgrim)
on Feb 17, 2009 at 00:13 UTC ( #744245=perlmeditation: print w/replies, xml ) Need Help??

I've been banging my head on the table with Apache::Session::MySQL today. Consider:

eval { ( my %session, $ok ); $ok = tie( %session, 'Apache::Session::MySQL', undef, ... ); if ( $ok ) { ... do something with %session ... } untie %session; }
This doesn't work from mod_perl, because the untie throws an exception following warning causes my web page to fail:
untie attempted while 1 inner references still exist at line 250.
Since I don't use any explicit references to %session, this caught me by surprise. I have since resolved it; can you see the bug?

  • clarified failure per note from ysth. Occasionally I use an english-ish idiom instead of a precise technical term.
  • The !! idiom may not be elegant to some, but I find it elegant because it can be read as "dammit," and I was looking for a -dammit flag to work around this failure :)
  • The use of $ok instead of the simple if statement occurred because of some additonal logic that I was doing after the tie, and before the untie. It had been omitted in this sample code.

Replies are listed 'Best First'.
Re: unexpected "inner references" error from untie()
by ysth (Canon) on Feb 17, 2009 at 03:50 UTC
Re: unexpected "inner references" error from untie()
by Anonymous Monk on Feb 17, 2009 at 06:36 UTC
    perldoc -f tied
    ... if( tied %session){ } untie %session;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://744245]
Approved by ikegami
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2020-07-15 01:49 GMT
Find Nodes?
    Voting Booth?

    No recent polls found