TeamSolCO wrote:
Now then, I've opened a can of worms by adding "use strict" and
> "use warnings" to the source. Keep in mind that this application
was running JUST FINE before doing this.  I'm only trying to 'modernize'
this old code.  Having started with a couple screen-fulls of resulting
> errors, I'm down to just one: "Can't use an undefined value as a symbol
reference..." The partucular block that causes this error is:

sub close_fifo {
 close($hndFIFO);
}

It's related open sub is:

sub open_fifo {
 close_fifo();

When you call this the first time, you'll end up doing


close($hndFIFO = undef);

And strict won't let you dereference "undef" as a filehandle -- for
historical reasons, filehandles and glob/symbol references are more
equivalent than they should be, and that's why your error message is
complaining about a "symbol reference".

Now, if you're sure you need to close $hndFIFO before re-opening it,
you could do:

  sub open_fifo {
    close($hndFIFO) if defined $hndFIFO;

But it will get closed automatically when you re-open $hndFIFO, and
I think that should be sufficient.

--
Steve

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>




Reply via email to