免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1899 | 回复: 2
打印 上一主题 下一主题

小白的问题... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-07-05 12:11 |只看该作者 |倒序浏览

  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'/ 这块有问题... 但就是不太清楚,如何匹配..
麻烦各位大牛 帮帮忙... 小弟不胜感激.

论坛徽章:
0
2 [报告]
发表于 2011-07-05 13:45 |只看该作者
不知道 为什么 .上面的循环不能用while来做. 用foreach就可以..

论坛徽章:
145
技术图书徽章
日期:2013-10-01 15:32:13戌狗
日期:2013-10-25 13:31:35金牛座
日期:2013-11-04 16:22:07子鼠
日期:2013-11-18 18:48:57白羊座
日期:2013-11-29 10:09:11狮子座
日期:2013-12-12 09:57:42白羊座
日期:2013-12-24 16:24:46辰龙
日期:2014-01-08 15:26:12技术图书徽章
日期:2014-01-17 13:24:40巳蛇
日期:2014-02-18 14:32:59未羊
日期:2014-02-20 14:12:13白羊座
日期:2014-02-26 12:06:59
3 [报告]
发表于 2011-07-05 15:06 |只看该作者
不知道 为什么 .上面的循环不能用while来做. 用foreach就可以..
klathleen 发表于 2011-07-05 13:45



那先说说...你所了解的for与while....
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP