以下是我所拥有的。如果我将@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")
答案 0 :(得分:1)
您正在将@_
中的项目数分配给$url
,因为这是数组在列表上下文中执行的操作。
my ( $url ) = @_;
括号将告诉Perl分配的左侧是一个列表。
(my $url) = @_;
这也可行,但看起来很愚蠢。