jh- has asked for the wisdom of the Perl Monks concerning the following question:
Hi. I'm a long time user (and lover) of Perl, but only recently I decided learn OO Perl, and as an excercise I chose to rewrite my old IRC bot. There's just one problem that I've been stuck with for days now. I've tried reading about every possible documentation available that could guide me to the correcct direction and dug Google upside down, but so far have come out empty-handed... =(
I don't really know how to explain this, so I'll let the code speak for itself:
sub joinChannel { my $self = shift; open ( ${ $self->{LOGHANDLE} }, '>>', $self->{LOGFILE}) or croak("Failed to open " . $self->{LOGFILE}); $self->SUPER::sendStr("JOIN " . $self->{NAME}); }
The problem is the open() line. No matter what I do, I can't seem to be able to open the file with $self->{LOGHANDLE} as the file handle..
I tried Alias and its attr(), but for some reason I couldn't get it to work. It compiled and ran fine, but the log file stayed empty.
I also tried to use a local variable as the file handle when opening the file and then assigning its ref or value to $self->{LOGHANDLE}, but it didn't produce any output to the log file either.
Any help would be appreciated a lot.
Thanks in advance,
Joeli
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: How to open() something in a hash?
by GrandFather (Saint) on Jan 24, 2009 at 00:56 UTC | |
by ikegami (Patriarch) on Jan 24, 2009 at 01:08 UTC | |
by jh- (Scribe) on Jan 24, 2009 at 01:21 UTC |