2011年7月6日星期三

Re: [PerlChina] 子例程问题,请教

呵呵,对方就是这个意思。人家用的是@array表示最终返回的数组(不是你子例程中的那个@arra),相当于你用的@result

On 2011-7-1 9:58, Gary.jsz wrote:
您好!

如果使用
print $_ foreach @arra是不行的,因为这个数组变量是在子例程里面的。
但是,如果使用:
my @result = output();
print $_ foreach @result;
就会把子例程里面所有的返回值都打印出来了。


不过,如果把@arra定义为全局变量,应该就解决这个问题了。


======= 2011-07-01 09:47 李� 您在来信中写到:Re: [PerlChina] 子例程问题,请教 =======


hi, try this:

print $_ foreach @array;

2011/7/1 Gary.jsz <gary.jsz@gmail.com>

truncatei,您好!


谢谢!

如果返回一个数组该怎么遍历打印?
比如:

sub output{
    my @arra = (a, b, c, d, e, f, g);


    my $host_name = 12345;
    my $kernel = "2.6.35";
    my $version = "Redhat enterprise linux";
    #print "$host_name\n $kernel\n $version\n";
    return (@arra, $host_name, $kernel, $version);
}

因为数据的元素个数未知,从文件中获取的。





======= 2011-06-30 18:46 truncatei 您在来信中写到:Re: [PerlChina] 子例程问题,请教 =======

做法有很多种,比如:

sub output{
    my $host_name = 12345;
    my $kernel = "2.6.35";
    my $version = "Redhat enterprise linux";
    #print "$host_name\n $kernel\n $version\n";
    return ($host_name, $kernel, $version);
}

my @result = output();
print $result[1];

----
Gary.jsz

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
+++++++_++++++++
李 镇
DeNA China 智能手机事业部
(86-21-6267-6611-137)

大家一起来玩[梦宝谷]吧!

++++++ *-* +++++++

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。


= = = = = = = = = = = = = = = = = = = =

----
Gary.jsz

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

没有评论: