-1
以下は私が持っているものです。 $url = @_
を実際のURLに変更した場合は動作しますが、この例では@URLs
に定義されているものからforeach
を使用して読み込むはずです。誰かが私を見せたり、なぜこれがうまくいかないか教えてもらえますか?複数のURLを処理するためにNet :: Async :: HTTPの例に従ってみましたが、うまく動作しません。
#!/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);
あなたはそれが動作していないと思うのは正確に何を見ていますか?エラーが発生した場合は、正確なエラーテキストを質問に追加してください。 – ThisSuitIsBlackNot
エラーを投げることなく実行されます。しかし、私の@URLからURLを処理するはずですが、そうではありません。それは私がそれを持っている問題です。 –
これは本当に正確なコードですか? '' http://example.com、http://example2.com ''は有効なURLではないので、エラーが出ると思います。 – ThisSuitIsBlackNot