sub process_ls { my($shell, @arg) = @_; $shell->mywarn("usage: ls [path]"), return unless @arg < 2; $shell->{sftp}->ls($arg[0] || $shell->{pwd}, sub { print $_[0]->{longname}, "\n" }); }