#!/usr/bin/perl use Net::SSH::Expect; my $host = "testserver"; my $user = "test"; my $password = "pass"; my $ssh = Net::SSH::Expect->new ( host => $host, password=> $password, user => $user, raw_pty => 1, timeout => 10 ); my $login_output = $ssh->login(); my $cmd = qq(perl -e 'use ExtUtils::Installed; my ($inst) = ExtUtils::Installed->new(); my (@modules) = $inst->modules(); map { print $_ . ":" . $inst->version($_) ."\n"; }@modules;'); my $res = $ssh->exec($cmd); print($res); $ssh->close(); #### >new(); my () = ->modules(); map { print . ":" . ->version() ." > "; };' Can't declare stub in "my" at -e line 1, near ") =" syntax error at -e line 1, near "= ->modules" syntax error at -e line 1, near ". ->version" syntax error at -e line 2, near "};" (Might be a runaway multi-line "" string starting on line 1) Execution of -e aborted due to compilation errors.