gazou_element.txtにurlを保存していて、それらを一つずつ取り出してダウンロードするようにしようとしているのですがError:Invalid argument at C:User~~~となってしまいます。
どうすればいいかよろしければお教え下さい。
use Encode;
use LWP::UserAgent;
use IPC::Open2;
use warnings;
$file = "gazou_element.txt";
open (IN, $file) or die "$!";
my @url =<IN> ;
my $time = time;
for(my $i = 0; $i < scalar(@url); $i++){
my $request = HTTP::Request->new('GET', $url[$i]);
my $ua = LWP::UserAgent->new;
$ua->agent('Mozilla/4.0');
my $response = $ua->request($request);
my $prefix = get_prefix($url[$i]);
my $count = $i + 1;
if($response->is_success){
open($OUT, ">","$time$i$prefix") or die("Error:$!");
binmode $OUT;
print $OUT $response->content;
close $OUT;
}else{
}
}
#拡張子を取得する
sub get_prefix{
my $url = shift;
my $start = rindex($url, ".");
my $end = length($url);
my $string = substr($url, $start, $end - $start);
return $string;
}
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> Error:Invalid argument at C:User~~~となってしまいます。
この省略されている箇所に、行番号が書いてあるはずなのですが。
それは、どこなのでしょうか?
エラーメッセージのヒント無しにプログラムを読むのは面倒です。
> my @url =<IN> ;
<>で読み込んだときは、改行も含みます。
改行を取り除いている様子がありません
No.1
- 回答日時:
よくわからんけど, 個人的には
open($OUT, ">","$time$i$prefix") or die("Error:$!");
のところを
open(my $OUT, ">","$time$i$prefix") or die("Error:$!");
としたい気分.
ちなみに拡張子を prefix と呼ぶことはあり得ないので, そこんところも気を付けるべし.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- YouTube youtubeからの著作権メールについて 2 2023/02/14 16:12
- 英語 英語ができる方に質問です。 以下の文がネイティブの方に伝わるかどうかを確認していただけないでしょうか 7 2022/12/16 14:54
- 英語 英文の添削お願いします。【長文です。】 マッチングアプリで相手を言い負かしている時のやつです。 色々 1 2023/07/01 02:12
- 英語 2 SPEAKING NATURALLY People often use informal ter 1 2023/05/08 18:09
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- 英語 和訳を教えてください 4 2022/06/16 12:01
- 英語 【英語】 新しい職場の人と仲良くできるか心配です。 ①I'm worried I won't get 4 2022/06/26 21:19
- 英語 「名詞 of 名詞」において、どちらも同一人物が主体となったり所有する名詞の適切な各限定詞について 2 2022/08/18 11:32
- 英語 英文について教えて下さい。 2 2022/06/14 10:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
csvファイルの横方向への改行に...
-
perl ファイルが開かない
-
VBAコードを張り付け後のエクセ...
-
重複ファイル名ある場合ファイ...
-
fopen64について
-
AutoNts
-
ファイル全てを .xlsm に変更し...
-
行を指定して削除する方法PERL
-
cgiでサーバーにファイルを追加...
-
VBA テキストファイルを読み取...
-
Perlでファイルの末尾から指定...
-
VBAで巨大なファイルの途中から...
-
ファイルがオープンできない
-
Perlで特定文字列から特定文字...
-
Perlで行をさかのぼって削除す...
-
C#でCSVファイルを逐一更新したい
-
複数のCSVファイルを一つのCSV...
-
データの日付でソートをしたい
-
CSVが可変長の場合の検索方法
-
FindFirstFileとFindNextFileで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
window.open でのファイル指定方法
-
fgets で値が取得できない
-
VBA テキストファイルを読み取...
-
ファイル全てを .xlsm に変更し...
-
csvファイルの横方向への改行に...
-
Firefox で file:// で始まる U...
-
VBAコードを張り付け後のエクセ...
-
python renameについて
-
JSP URLに表示される拡張子 .jsp
-
foreach内での変数の扱い?
-
HTMLのフォームで画像と文...
-
drtファイルはどうしたら開...
-
PerlでのUseless use...
-
MySQLにバイナリデータを正常に...
-
複数ファイルを1つにするシェ...
-
テキストファイルの高速な読み...
-
巨大なテキストの最終行を取得...
-
並び方、
-
ファイルの存在の有無を確かめ...
-
Perl の「stringify」の意味に...
おすすめ情報