in reply to Re: POE::Component::RemoteTail - Can't locate object method new
in thread POE::Component::RemoteTail - Can't locate object method new

Rocco-

Will POE::Component::RemoteTail automatically use() it for you?

I think so, here's a code excerpt from RemoteTail.pm:

102 # use custom class 103 if ( my $class = $job->{process_class} ) { 104 $class->require or die(@!); 105 $class->new(); 106 %program = ( Program => sub { $class->process_entry($j +ob) }, ); 107 }
Also, I added a print statement to the beginning of the NetSSHPerl module, and I saw the print output before the error message came out.

I'm also confused because I don't understand the meat of the RemoteTail::CustomEngine::NetSSHPerl module:

use POE::Component::RemoteTail::CustomEngine::NetSSHPerl; use strict; use warnings; use Net::SSH::Perl; print STDERR "In NetSSHPerl...\n"; #Added by cmv sub process_entry { my $self = shift; my $arg = shift; my $host = $arg->{host}; my $path = $arg->{path}; my $user = $arg->{user}; my $password = $arg->{password}; my $cmd = "tail -f $path"; my $ssh = Net::SSH::Perl->new( $host, protocol => "2,1" ); $ssh->login($user); $ssh->register_handler( "stdout", sub { my ( $channel, $buffer ) = @_; my $log = $buffer->bytes; print $log; unless ($log) { exit; } } ); my ( $stdout, $stderr, $exit ) = $ssh->cmd($cmd); } 1;
Why does it have a use statement pointing to itself?
Shouldn't it have a module declaration instead?

I'm confused.

Replies are listed 'Best First'.
Re^3: POE::Component::RemoteTail - Can't locate object method new
by rcaputo (Chaplain) on Feb 25, 2009 at 06:55 UTC

    That does look bizarre. Off the top of my head, I would expect the use statement to be package and perhaps it's missing a use base pragma.

    This module seems to need some love. Maybe the author would be willing to heap some on it if they knew someone was trying to use it?