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. |