免费注册 查看新帖 |

Chinaunix

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

数组如何取值 IP [复制链接]

论坛徽章:
0
跳转到指定楼层
[收藏(0)] [报告]
发表于 2008-05-15 11:38 |只看该作者 |正序浏览
2可用积分
数组如何取值
IP
请大家帮帮忙 我刚接触perl
第一次编程 想要实现的是:
将一些IP放入到数组里面 然后递归的根据里面的变量对相应的IP操作
这个应该怎么实现呢?
也就是说如何使用perl实现类似C下面的对于数组的 for循环

[ 本帖最后由 ppiqq 于 2008-5-15 15:48 编辑 ]

论坛徽章:
0
15 [报告]
发表于 2008-05-15 21:39 |只看该作者

回复 #15 churchmice 的帖子

niubility

论坛徽章:
0
14 [报告]
发表于 2008-05-15 20:46 |只看该作者
我明白了

  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. my %hash = (
  5.     "a" => 1,
  6.     "b" => 2,
  7.     "c" =>3,
  8.     );
  9. print @hash { "a","b"},"\n";
复制代码

如果不加()的话,
perl会认为是一个hash散列 @test {}
所以会提示说global symbol %test not defined
即使两者之间有空格也不行

论坛徽章:
0
13 [报告]
发表于 2008-05-15 20:40 |只看该作者
原帖由 cobrawgl 于 2008-5-15 20:18 发表


print "$_\n" foreach @test;

这样写也是没有问题的

论坛徽章:
0
12 [报告]
发表于 2008-05-15 20:18 |只看该作者


print "$_\n" foreach @test;

论坛徽章:
0
11 [报告]
发表于 2008-05-15 17:37 |只看该作者
#!/usr/bin/perl
use strict;
my @test=qw(192.168.1.55 192.168.1.67 192.168.1.10);
foreach $a(@test) {
      print "$a\n";
}

是这样吧,foreach读取数组的话应该是这么写的foreach $a(@test){},运行正确

[ 本帖最后由 feiying0193 于 2008-5-15 17:38 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2008-05-15 17:29 |只看该作者
#!/usr/bin/perl
use strict;
my @test=qw(192.168.1.55 192.168.1.67 192.168.1.10);
foreach @test {
      print "$_\n";
}
还是不行。。。。。。
我也汗了

论坛徽章:
0
9 [报告]
发表于 2008-05-15 17:20 |只看该作者
原帖由 redicaps 于 2008-5-15 17:13 发表
一滴汗
@array->(@test)

两滴汗

论坛徽章:
0
8 [报告]
发表于 2008-05-15 17:19 |只看该作者
原帖由 ppiqq 于 2008-5-15 17:07 发表
楼上的大哥帮忙再看看 我用for循环可以实现 但是使用foreach就不行了
#!/usr/bin/perl
use strict;
my @test=qw(192.168.1.55 192.168.1.67 192.168.1.10);
foreach @array {
      print "$_\n";
}

这 ...

多了

论坛徽章:
0
7 [报告]
发表于 2008-05-15 17:13 |只看该作者
一滴汗
@array->(@test)

论坛徽章:
0
6 [报告]
发表于 2008-05-15 17:07 |只看该作者
楼上的大哥帮忙再看看 我用for循环可以实现 但是使用foreach就不行了
#!/usr/bin/perl
use strict;
my @test=qw(192.168.1.55 192.168.1.67 192.168.1.10);
foreach @array {
      print "$_\n";
}

这是全部的程序
报错如下: [anxb@localhost perl]$ ./test
syntax error at ./test line 4, near "foreach @array "
Global symbol "%array" requires explicit package name at ./test line 4.
Execution of ./test aborted due to compilation errors.

是不是我落了什么啊?
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP