sub foo { ... my $rc = fooFoo($ssh); $ssh->exit_session(); $ssh->close_session; return $rc; } sub fooFoo { my ($ssh) = @_; if ( !$ssh->start_session($ssh_host) ) { print "ERROR connecting to $ssh_host\n"; return 1; } my ( $ret, $err ) = $ssh->execute( 'command1', 'expect1' ); if ( $err || $ret =~ /Unknown command:/m ) { return 2; } my ( $ret, $err ) = $ssh->execute( 'command2', 'expect2' ); if ( $err || $ret =~ /Unknown command:/m ) { return 3; } return 0; }