请教,关于取一个子程序的返回值

请教,关于取一个子程序的返回值

请教,关于取一个子程序的返回值
我写了一个A模块
里面定义了一个search子程序。功能是查找数据库,然后把数据库里的一条记录保存到一个HASH里。
如:$hash{'url'},$hash{'host'},$hash{'file'}等。再把这个HASH存到一个数组里。
use A;
my $a = new A;
$a->search();
这样可以进行查询。我的问题是,在另一个程序里怎样取这个数组里每个元素(HASH)的每个值?
拜托,把问题写清楚一点好.
拜托,把问题写清楚一点好不好?
如果你实在不知道该怎么写才能更清楚些,
那就把源代码发上来,也算是一种辅助信息。

刚才在 ChinaUnix 那边看到了,想回,就是因为你没写清楚,所以就没回。
现在又往这边发。

你如果不把你的问题描述清楚,发再多都没用。
我的意思就是--我有一个.
我的意思就是
我有一个子函数,它是在一个模块里写的。如A模块。
函数的功能就是搜索数据库的一条记录。一条记录包括,IP,PORT,FILENAME。
然后把这3个存到HASH里。
while (my @row = $sth->fetchrow_array){
my %hash;
$hash{'host'} = $row[0];
$hash{'port'} = $row[1];
然后放进一个数组里:
push(@array,%hash);
最后返回这个数组
return @array;
整个子函数结束。
我要使用这个函数,首先应该:
use A;
my $a = new A;
$a->search();
我想问。我怎样写能取得@array里的每个元素(一个HASH)的每个值,如
我想取$array[0]{host}.
在另一个.pl文件中应该怎么写?
你的函数写的有问题,这么.
你的函数写的有问题,这么写你最后什么都得不到。
建议:

[quote]while ( my $hash = $sth->fetchrow_hashref ){
push( @array, $hash );
}[/quote]
然后你在外面就可以这样:
my @records = $a->search();
$records[0]{'host'};
$records[1]{'port'};




   

谢谢解答 ,我试试.