by Hippo2000(2000/8/12)
CGI::Prettyモジュールなのです。
原本の著作権はBrian Paulsen氏がお持ちです。詳しくは著作権情報をご覧ください。
内容等が間違っていたら修正します。ご連絡ください。
CGI::Pretty - きれいにフォーマットされたHTMLコードを作成するためのモジュール
use CGI::Pretty qw( :html3 );
# 1つのデータ要素を持つテーブルを出力
print table( TR( td( "foo" ) ) );
CGI::PrettyはCGIから派生したモジュールです。これはCGIのユーザにきれいにフォーマットされたHTMLコードを出力することを可能にする唯一の関数です。
CGIモジュールを使うとき、以下のコード:print
table( TR( td( ``foo'' ) )
);
は以下の出力を作成します:<TABLE><TR><TD>foo</TD></TR></TABLE>
ユーザがたくさんの行とカラムからなるテーブルを作成するならば、結果のHTMLコードは改行もインデントもないので、とても読みにくくなるでしょう。
CGI::Prettyがこの問題を解決します。これは改行とインデントをHTMLコードに加えるので、簡単に読むことが出来ます。
print table( TR( td( "foo" ) ) );
これは以下の出力を作成します:<TABLE> <TR> <TD> foo </TD> </TR> </TABLE>
<A> と<PRE> タグはフォーマットされません。これらのタグがフォーマットされると、ブラウザ上では余分なインデントがついてしまい、それはページの見た目を期待していたものとは違うようにしてしまいます。触れられないタグのリストにもっとタグを追加したければ、@AS_IS配列にそれを追加してください:
push @CGI::Pretty::AS_IS,qw(CODE XMP);
インデントの個人的な形式を持ちたければ、$INDENT変数を変更することが出来ます:
$CGI::Pretty::INDENT = "\t\t";
これはインデントを2つのタグにします。
同様に行の間をもっと開けたければ、$LINEBREAK変数を変更することが出来ます:
$CGI::Pretty::LINEBREAK = "\n\n";
これは行の間に2つの改行を作ります。
通常のCGIインデントを使うと決めたならば、以下のようにして行うことが出来ます:
$CGI::Pretty::INDENT = $CGI::Pretty::LINEBREAK = "";
このセクションは最初はブランクのままです。
(訳者注:どうもデフォルトのままのようです)
(原文のまま)
Brian Paulsen <Brian@ThePaulsens.com>, with minor modifications by Lincoln Stein <lstein@cshl.org> for incorporation into the CGI.pm distribution.
Copyright 1999, Brian Paulsen. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Bug reports and comments to Brian@ThePaulsens.com. You can also write to lstein@cshl.org, but this code looks pretty hairy to me and I'm not sure I understand it!
(最後の文だけ)
バグレポートとコメントは Brian@ThePaulsens.com へ。 lstein@cshl.orgに書くことが出来ますが、このコードはちょっとキビしいので、わかるかどうかなんともいえません。
CGI
ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。