Chinaunix

标题: 数组问题 [打印本页]

作者: kernel69    时间: 2013-09-27 00:54
标题: 数组问题
本帖最后由 kernel69 于 2013-09-27 00:56 编辑
  1. cat auto_ssh.pl
  2. #!/usr/bin/perl -w
  3. use strict;
  4. use lib '/home/zhangguiliang/perl/lib/lib/perl5/site_perl/5.8.8/';
  5. use Net::OpenSSH;

  6. my @hostname = qw(192.168.2.11);

  7. my $cmd1 = 'ls -l';
  8. my $cmd2 = 'df -h';


  9. for my $host ( @hostname ) {

  10.         my $ssh = Net::OpenSSH -> new( $host, timeout => 600 );
  11.         #my @out = $ssh -> capture( $cmd1 );
  12.         my @space = $ssh -> capture( $cmd2 );
  13.         print @space;
  14.         print '-' x 30 . "\n";
  15.         my @jboos_space  = grep /jboss/, @space;
  16.         print $jboos_space[2]
  17. }


  18. $ ./auto_ssh.pl
  19. Filesystem            ɝ  ӑԃ ¿ʓ`ӑԃ% 1Ӕص
  20. /dev/sda9             2.0G  497M  1.4G  26% /
  21. /dev/sda1              92M   13M   74M  15% /boot
  22. none                  2.0G     0  2.0G   0% /dev/shm
  23. /dev/sda2             9.9G  4.3G  5.2G  46% /home
  24. /dev/sda10             94G   40G   50G  45% /jboss_app
  25. /dev/sda5             5.0G   43M  4.7G   1% /mysql
  26. /dev/sda7             5.0G   43M  4.7G   1% /tmp
  27. /dev/sda3             9.9G  3.0G  6.5G  32% /usr
  28. /dev/sda6             5.0G  484M  4.2G  11% /var
  29. ------------------------------
  30. Use of uninitialized value in print at ./auto_ssh.pl line 21.
复制代码
@jboos_space的内容为/dev/sda10             94G   40G   50G  45% /jboss_app加一个空格,问题是我访问$jboos_space[1],结果应该是94G,而运行结果是uninitialized,访问$jboos_space[0]结果是/dev/sda10             94G   40G   50G  45% /jboss_app,怎样修改才能访问$jboos_space[0]是/dev/sda10,$jboos_space[1]是94G,依次往后,谢谢









作者: wenhq    时间: 2013-09-27 07:02
split          ?
作者: kernel69    时间: 2013-09-27 08:08
我也这么想的,
  1. my @jboos_space  = split /\s+/,grep /jboss/, @space;
复制代码
返回的值是个标题值啊,1

回复 2# wenhq


   
作者: yinyuemi    时间: 2013-09-27 08:36
回复 3# kernel69


    my @jboos_space  = map{split /\s+/}grep {/jboss/} @space;
作者: kernel69    时间: 2013-09-27 11:41
试试,有结果了,给你回复,

回复 4# yinyuemi


   
作者: kernel69    时间: 2013-09-28 19:12
测试OK,感谢大牛

回复 4# yinyuemi


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2