Perl打印更改执行顺序

Vin*_*nce 0 printing ssh perl

我的perl脚本遇到了一个非常奇怪的问题.我真的不知道,那里发生了什么,也许你会看到它......

我的脚本用于Net::SSH::Perl通过SSH连接到主机.之后我head -20在config.ini上搜索一些模式(版本号).

在我打印版本号后,cat其他文件大约有700行.

现在发生的是,脚本不是打印版本号,而是打印整个700行文件.除非我print "\n"x10; 直接添加版本打印.

这种行为对我没有任何意义,但我相信你们中的一个会比我更聪明并且知道答案:)

脚本下方:

  1 #!/usr/local/bin/perl -w
  2 use lib './';
  3 use strict;
  4
  5 use GetVersions;
  6 use Net::SSH::Perl;
  7
  8
  9 my $ssh = Net::SSH::Perl->new(
 10         'host',
 11         identity_files => ['~/.ssh/id_rsa']
 12 );
 13
 14 $ssh->login('user');
 15
 16 my $ver_regex = '^psadm\.version\s*=\s*rel_(.+)$';
 17
 18 my ($file, $err, $exit) = $ssh->cmd('head -20 /config.ini');
 19 my $version = $file =~ /$ver_regex/m;
 20 print "version: $version\n",
 21 #print "\n"x10;
 22 ($file, $err, $exit) = $ssh->cmd('cat /application.ini');
Run Code Online (Sandbox Code Playgroud)

AKH*_*and 10

这可能应该是分号

print "version: $version\n",
                           ^
Run Code Online (Sandbox Code Playgroud)