新規記事投稿
フォロー記事投稿
記事のキャンセル
From: Yasu.F
<yasuf@ariake.or.jp>
Subject: Re: 文字列の置換
Date: 1997/01/20 17:12:54
Reference: mesh.program/00186
1月20日に、マーフィーさんは書きました。
>Perlでプログラムを作っているのですが
>データとして、
>http://www.xxxx.xx が来たときに、これを別の文字列(ページ名)に
>置き換えたいのです。
>そのために、データベースとなるファイルを用意して、
>そこに
>---------------------------
>http://www.xxxx.xxx/ , Hoge
>http://www.yyy.foo/~hoge/ , マーフィー
>
>----------------------------
>のようなデータを入れておき、これと照合して置換したいのですが、
>どのようにしたらいいでしょう
いくつか方法はありますが、例えば次のように書けます。
# まず、データベースファイルを読み込んで連想配列に記憶しておく
open(DB, 'hogehoge.dat') || die "cannot open database: $!";
while(<DB>) {
chop;
($url, $title) = split(/ , /); # 区切りは適当に変える
$homepage{$url} = $title;
}
...
# $urlにURLが入っているとして、タイトルを$titleに入れる
$title = $homepage{$url} if $homepage{$url};
または、データを直接スクリプトに記述してもいいのなら、
%title = (
'http://www.xxxx.xxx/', 'Hoge',
'http://www.yyy.foo/~hoge/', 'マーフィー',
);
とすれば、前半部分を省略できます。
# ちょっと書きすぎたかな?^^;