Richard Lee wrote:
> I was just testing out the code from the book 'writing perl modules for
> cpan' and I am trying out below module and getting compiled error.
> I cannot/donot see what is wrong w/ the code.
>
> can anyone see?
>
> use strict;
> use warnings;
>
>
> package BOA::Logger2;
> use Carp qw(croak);
> use IO::File;
>
> #constructor - returns new BOA::Logger2 objects
> sub new {
> my ($pkg, $filename) = @_;
>
> #initialize $self as a reference to an empty hash
> my $self = {};
>
> #open the log file and store IO::File object in $self->{fh}
> my $filehandle = IO::File->new(">>$filename");
> croak("Unable to open $filename: $!") unless $filehandle;
>
> #print startup line
> $filehandle->print("BOA log started: " . localtime(time) . "\n");
>
> #store the filehandle in $self
> $self->{fh} = $filehandle;
>
> #set default log_level of one
> $self->{level} = 1;
>
> #bless $self as an object in $pkg and return it
> bless($self, $pkg);
> return $self;
> }
>
> # level method - changes log level for this log object
> sub level {
> my ($self, $level) = @_;
> $self->{level} = $level;
> }
>
> # write method - writes a line to the log file if log-level is high enough
> sub {
> my ($self, $level, $message) = @_;
> $self->{fh}->print($message) if $level <= $self->{level};
> }
>
>
> 1;
You haven't named the last subroutine :)
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/