+ -
当前位置:首页 → 问答吧 → 小白的问题...

小白的问题...

时间:2011-07-05

来源:互联网

  1. #!/usr/bin/perl
  2. use warnings;
  3. use strict;

  4. sub Getgwip {
  5. my $cmd="route -n";
  6. my @route=`$cmd`;
  7. my $gwip;
  8.         while (@route) {
  9.                 chomp;
  10.                 if ($_ =~m/^'0'/){
  11.                        chomp;
  12.                         s/^\s+//g;
  13.                         s/\s+$//g;
  14.                         #       next if $_ eq '';
  15.                         $gwip=(split /\s+/,$_)[2];
  16.                                 }
  17.                         }
  18.         return $gwip;
  19. }
  20. sub Getgwmac {
  21. my $cmd="arp -a Getgwip()";
  22.         my $echo=`$cmd`;
  23. my $mac=(split /\s+/,$echo)[4];
  24.         return $mac;
  25. }
  26. sub bond_ip_mac {
  27. my $bond="arp -s Getgwip Getgwmac";
  28.         `$bond`;
  29. }
  30. bond_ip_mac();
复制代码
我觉得 应该是$_ =~m/^'0'/ 这块有问题... 但就是不太清楚,如何匹配..
麻烦各位大牛 帮帮忙... 小弟不胜感激.

作者: klathleen   发布时间: 2011-07-05

不知道 为什么 .上面的循环不能用while来做. 用foreach就可以..

作者: klathleen   发布时间: 2011-07-05