尝试遵循Net :: Async :: HTTP示例来处理多个URL但无法使其工作

时间:2017-01-13 18:36:43

标签: perl

以下是我所拥有的。如果我将@URLs更改为有效的网址,则可以使用,但我相信该示例应该使用foreach#!/bin/perl use IO::Async::Loop; use Net::Async::HTTP; use Future::Utils qw(fmap_void); use URI; use feature 'say'; use strict; use warnings; my @URLs = ( "http://example.com, http://example2.com" ); my $loop = IO::Async::Loop->new(); my $http = Net::Async::HTTP->new(); $loop->add($http); my $future = fmap_void { my $url = @_; $http->GET($url)->on_done( sub { my $response = shift; say $response->content; } )->on_fail( sub { my $fail = shift; say $fail; } ); } foreach => \@URLs; $loop->await($future); 中定义的内容中读取。有人可以告诉我或告诉我为什么这不起作用所以我可以纠正它吗?

System.out.println(s1.replaceAll("(\\d{4})(\\d{2})(\\d+)", "$1.$2.$3")

1 个答案:

答案 0 :(得分:1)

您正在将@_中的项目数分配给$url,因为这是数组在列表上下文中执行的操作。

my ( $url ) = @_;

括号将告诉Perl分配的左侧是一个列表。

(my $url) = @_;

这也可行,但看起来很愚蠢。