Page関数

「#--Page」で検索すると確実にヒットします。

この関数は、各画面表示を担当します。

引数は、この関数が呼び出されたときの状況を表す文字列と、一緒に表示させたいメッセージです。

それ以外では、グローバル変数「$RSS」から入力エリアの情報を読み込んだりしています。

戻り値はありません。

この関数を見ていただければわかるように、状況に応じてHTMLタグを読み込んで表示させているだけです。

なので、そんなに難しいところはないと思います。

ただ、RSS情報を入力する画面に関しては少しややこしいので、この辺りを見ていきましょう。

RSS情報入力

これは、ページの表示状況を表す変数「$page」に、「edit」が格納されているときの話です。

ここでは、RssDefault関数RssAnalyze関数で定義された入力エリアを表示しています。

この中でも、以下の部分は状況により表示される項目が変わるところです。

for my $inputarea ('channel', 'image', 'item') {
$html .= "<h2>" . ucfirst($inputarea) . "</h2>\n";
$html .= "<table border=\"0\" cellspacing=\"5\" cellpadding=\"5\">\n";
for my $input (@{$RSS->{$inputarea}}) {
for my $key (keys %{$input}) {
my $value = $input->{$key};
$html .= "<tr valign=\"top\" align=\"left\">\n";
$html .= "<td><nobr>" . uc($key) . "</nobr></td>\n";
$html .= "<td>$value</td>\n";
$html .= "</tr>\n";
}
}
$html .= "</table>\n";
}

ここでは、チャンネル(channel)、イメージ(image)とアイテム(item)の入力項目を表示させています。

まず、最初のforループでこの3種類の入力エリア名を指定します。

次のforループで配列「@{$RSS->{$inputarea}}」に格納されている入力項目名と入力欄を表示させたい順に呼び出しています。

最後のforループで、対になっている入力項目名と入力欄をそれぞれ呼び出し表示させています。

これで状況にあわせた入力エリアを表示できます。