- 论坛徽章:
- 0
|
屏幕上无限打印:- Use of uninitialized value $wr in numeric lt (<) at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 416.
- Use of uninitialized value $wr in addition (+) at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 417.
- Use of uninitialized value $wr in substr at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 418.
- Use of uninitialized value $wr in numeric lt (<) at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 416.
- Use of uninitialized value $wr in addition (+) at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 417.
- Use of uninitialized value $wr in substr at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 418.
- Use of uninitialized value $wr in numeric lt (<) at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 416.
- Use of uninitialized value $wr in addition (+) at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 417.
- Use of uninitialized value $wr in substr at /usr/lib64/perl5/vendor_perl/Net/SSH2.pm line 418.
复制代码 看了看代码:- 390 sub scp_put {
- 391 my ($self, $path, $remote) = @_;
- 392 $remote = basename $path if not defined $remote;
- 393
- 394 my $file = ref $path ? $path : IO::File->new($path, O_RDONLY);
- 395 $self->error($!, $!), return unless $file;
- 396 my @stat = $file->stat;
- 397 $self->error($!, $!), return unless @stat;
- 398
- 399 my $mode = $stat[2] & 0777; # mask off extras such as S_IFREG
- 400 my $chan = $self->_scp_put($remote, $mode, @stat[7, 8, 9]);
- 401 return unless $chan;
- 402 $chan->blocking(1);
- 403
- 404 # read and transmit blocks until we're finished
- 405 for (my ($size, $count) = ($stat[7]); $size > 0; $size -= $count) {
- 406 my $buf;
- 407 my $block = ($size > 8192) ? 8192 : $size;
- 408 $count = $file->sysread($buf, $block);
- 409 $self->error($!, $!), return unless defined $count;
- 410 $self->error(0, "want $block, have $count"), return
- 411 unless $count == $block;
- 412 die 'sysread mismatch' unless length $buf == $count;
- 413 my $wrote = 0;
- 414 while ($wrote >= 0 && $wrote < $count) {
- 415 my $wr = $chan->write($buf);
- 416 last if $wr < 0;
- 417 $wrote += $wr;
- 418 $buf = substr $buf, $wr;
- 419 }
- 420 $self->error(0, "error writing $count bytes to channel"), return
- 421 unless $wrote == $count;
- 422 }
- 423
- 424 # send/receive SCP acknowledgement
- 425 $chan->write("\0");
- 426 my $eof;
- 427 $chan->read($eof, 1);
- 428 return 1;
- 429 }
复制代码 看了一下,应该是在远程拷贝文件的时候,往通道中写数据“my $wr = $chan->write($buf);”却没有得到返回值,看样子应该是“write()”函数的问题。
write是 "$self"的对象的一个函数,而self对象就搞不清楚是什么玩意了。
谁牛逼帮忙看看啊! |
|