1

我正在使用 Data::Dumper 从带有 SOAP 消息传递的服务器中检索信息,并且需要一些帮助来分配返回值以进行处理。我的代码是:

my $cm = new SOAP::Lite
encodingStyle => '',
uri => "$axltoolkit",
proxy => "https://$cucmip:$axl_port/axl/";

my $res =$cm->getUser(SOAP::Data->name('userid' => "387653"));

unless ($res->fault) {
    $Data::Dumper::Incident=3;
    my( $reply ) = $res->paramsall();
    my ($devices) = $reply->{user}{associatedDevices}{device};
    print $devices->[0]."\n";
    print $devices->[1]."\n";
    print $devices->[2]."\n";

{device} 可以包含任意数量的元素,而不是调用 $devices->[0],[1] 等 - 是否可以吐出所有返回的设备?我试过 $_ 和 @_ 但没有运气,因为它只返回第一个设备。

任何帮助表示赞赏。

谢谢

4

1 回答 1

3

你的意思是

foreach my $device (@$devices) {
    print "$device\n";
}

?

或者更简洁

print "$_\n" foreach @$devices;
于 2012-01-07T02:53:21.023 回答