in reply to Question on IPC::Run
#!/usr/bin/perl use strict; use warnings; use Net::SSH::Perl; # If error is: # Can't locate object method "blocking" via package #"IO::Handle" at /usr/lib/perl5/site_perl/5.8.6/ # Net/SSH/Perl.pm line 212, <GEN0> line 1. # then use "protocol => 2"; my %hostdata = ( 'localhost' => { user => "z", password => "qumquat", cmdtorun => "ls -la", misc_data => [], }, 'zentara.zentara.net' => { user => "z", password => "aardvark", cmdtorun => "/usr/bin/uptime", misc_data => [], }, ); foreach my $host (keys %hostdata) { my $ssh = Net::SSH::Perl->new($host, port => 22, debug => 1, protocol => 2,1 ); $ssh->login($hostdata{$host}{user},$hostdata{$host}{password} ); my ($out) = $ssh->cmd($hostdata{$host}{cmdtorun}); print "$out\n"; }
|
|---|