はじめまして。
現在perlで簡単なRSSリーダーを作っています。
簡単に書けば下記のようなスクリプトです。
use LWP::Simple;
use XML::RSS;
foreach(@hoge) { # @hogeはrssファイルのURL
$SIG{ALRM} = sub{ die("alarm_error"); };
alarm 10;
$rss->parse($_);
alarm 0;
}
rssファイルをとりにいって10秒たって取得できなければnextで次のrssファイルへという形にしたいのですがどうもやり方がわかりません。
いろんなところで調べてもタイムアウト後はdie等によって強制終了するやり方しか見つかりませんでした。
タイムアウト後nextを使えるやり方をご存知のかたおられたらお教えください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
die は eval で捕捉できるので、このようなケースでは次のようにします。
foreach (@hoge) {
eval {
local $SIG{ALRM} = sub { die "TimeOut" };
alarm 10;
$rss->parse($_);
alarm 0;
};
if ($@ =~ /TimeOut/) { # $@ には die のパラメータなどが設定される
# タイムアウト時の処理
}
}
タイムアウト時の処理が不要な場合は、if ($@ ~) { ・・・ } を削除して下さい。
※インデントに全角空白を使っているので、コピーする場合はタブなどに置換して下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- gooブログ gooブログについて 1 2022/05/09 09:46
- 教えて!goo RSSについて 1 2022/08/17 15:15
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- PHP phpのエラーについて 1 2022/06/27 22:30
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ReadLineでの読み出し行を指定する
-
ExcelをCSV書き出す場合のシー...
-
Perlの変数に文字数制限(容量...
-
VBAで巨大なファイルの途中から...
-
VBAでCSVファイルを途中行まで...
-
エクセルマクロについて CSVフ...
-
Perl Vlookupみたいに
-
エクセルVBA コードが同じでも...
-
csvファイル改行コードの置換に...
-
複数のCSVを読み込み、一つにま...
-
他のサーバーにあるファイルの...
-
VBAでCSVファイルの特定行を書...
-
perlで、後ろの行を読んで、前...
-
ファイルとデータベースについて
-
cgiで表示するhtmlページ内でバ...
-
fopenでディレクトリ内の全ファ...
-
バッチファイルの作り方(CSV→...
-
awkスクリプトでダブルクォーテ...
-
教えて!perlから.exeファイル...
-
MySQLに画像を格納してperlで取...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでCSVファイルを途中行まで...
-
VBAでCSVファイルの特定行を書...
-
openした後、closeしないでプロ...
-
ExcelをCSV書き出す場合のシー...
-
エクセルVBA コードが同じでも...
-
VBAで巨大なファイルの途中から...
-
ReadLineでの読み出し行を指定する
-
perlで、後ろの行を読んで、前...
-
JavaでCSVファイルを高速に読む...
-
MATLAB グローバル変数の宣言
-
perlにて2つのファイル比較
-
C言語でのファイルのデータ更...
-
拡張子 ”log” と ” dat” の違い
-
ADOによるCSVファイルからのデ...
-
VB6.0でDB接続する際に切断時の...
-
2つのCSVファイルをマッチング
-
Perlの変数に文字数制限(容量...
-
perlで容量の大きいCSVファイル...
-
データファイルをプロットする(...
-
Perl Vlookupみたいに
おすすめ情報