in reply to Net::SSH::Expect - Reading stream and banner troubles.

There's a bug. readline() should be read_line(). You'll need a timeout also. This works:
#!/usr/bin/perl use strict; use warnings; use Net::SSH::Expect; my $ssh = Net::SSH::Expect->new( host => 'localhost', user => 'user', password => 'password', timeout => 1, ); warn "Starting SSH..."; $ssh->run_ssh(); warn "Testing login output..."; my $login_output = $ssh->login(); print " Done", "\n"; my $who = $ssh->send('ls'); my $line; while ( defined ($line = $ssh->read_line()) ) { print $line . "\n"; }