CGI-2.89 > CGI::Pretty

名前

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 = "";

バグ

このセクションは最初はブランクのままです。

(訳者注:どうもデフォルトのままのようです)

作者(AUTHOR)

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

翻訳者

川合孝典(GCD00051@nifty.ne.jp)