「URLからファイルを開く」方法はありません。さて、あなたはLWP :: UserAgentのprogress()
コールバックを使って何かを一緒に投げることができると思うが、それでもあなたが望むように動作するとは思わない。
しかし、あなたはかなり簡単にしたいように見えるものを作ることができます。実際に、私たちが実際にやっていることは、URLからすべてのデータを取り戻し、そのデータを含む文字列でファイルハンドルを開くことです。
use LWP::Simple;
my $data = get('https://google.com');
open my $url_fh, '<', \$data or die $!;
# Now $url_fh is a filehandle wrapped around your data.
# Treat it like any other filehandle.
while (<$url_fh>) {
print;
}
IO :: Stringがインストールされていないという問題がありました。しかし、標準的なPerlの機能(単に文字列への参照でファイルハンドルを開く)をするだけで簡単にできるので、インストールする必要はありません。
更新:ここで、IO :: Stringは完全に不要です。文字列への参照でファイルハンドルを開くだけでなく、Webサイトからファイルを配列に読み込むだけで簡単にできるようになるためです。その場合、コードは次のようになります。
use LWP::Simple;
my $url = 'something';
my @records = split /\n/, get($url);
エラーハンドリングを追加することも考えられます。
use LWP::Simple;
my $url = 'something';
my $data = get($url);
die "No data found\n" unless defined $data;
my @array = split /\n/, get($url);
モジュール 'IO :: String'は非常に特定の機能を提供します。あなたはそれが本当に必要なのですか? 「URLからファイルを開く_」とはどういう意味ですか?ファイル形式の操作を使用する特別な理由はありますか?インターネットからコンテンツを取得して管理するには、さまざまな方法があります。あなたは正確に何をする必要がありますか? – zdim
私はこの質問を再開しました。それは確かに人々が提案した質問の重複ではありません。解決策を探す際にOPが間違った軌道に乗ったように見えるので、重複しているように見えます。 –
'my $ handle = IO :: String-> new(get(" google.com "));私の@lines = <$handle>; 'はまったく無意味です。 –