CGI::Prettyモジュール

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


ホーム Perlの小技

ご意見、ご質問はこちらの掲示板で受け付けています。
またメールは河馬屋(Nifty)にお願いします。