#!/usr/local/bin/perl -w use strict; use IPC::PerlSSH; my $ips = IPC::PerlSSH->new( Host => 'casiano@etsii.ull.es' ); $ips->eval( "use POSIX qw( uname )" ); my @remote_uname = $ips->eval( "uname()" ); print "@remote_uname\n"; # We can pass arguments $ips->eval( "open FILE, '> /tmp/foo.txt'; print FILE shift; close FILE;", "Hello, world!" ); # We can pre-compile stored procedures $ips->store( "slurp_file", <<'EOS' my $filename = shift; my $FILE; local $/ = undef; open $FILE, "< /tmp/foo.txt"; $_ = <$FILE>; close $FILE; return $_; EOS ); my @files = $ips->eval('glob("/tmp/*.txt")'); foreach my $file ( @files ) { print "$file:\n**************\n"; my $content = $ips->call( "slurp_file", $file ); print "$content\n"; }