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


In reply to How to open() something in a hash? by jh-

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.