私はPerl CGIプログラムで印刷する必要があるフォントの色とスタイルを設定します。Perl CGIプログラムでprintfで色付き出力を取得するにはどうすればよいですか?
モジュール使用Term::ANSIColor
とすべてをインストールするためにCPAN.txtファイルを使用していません。
例:
print "Hello world";
私はPerl CGIプログラムで印刷する必要があるフォントの色とスタイルを設定します。Perl CGIプログラムでprintfで色付き出力を取得するにはどうすればよいですか?
モジュール使用Term::ANSIColor
とすべてをインストールするためにCPAN.txtファイルを使用していません。
例:
print "Hello world";
CGI関連の回答(質問はCGIのためになるように変更された)
あなたがWebページ上の色を実現したい場合は、あなたがこれを行いますCSS。あなたのマークアップからあなたのCSSを分離し、代わりにCSSスタイル属性を使用することをお勧めします
<span style="font-size: 1.5em; color: #555555; font-family: "Times New Roman", Times, serif;">Hello World</span>
:あなたのHTMLマークアップで
あなたは、フォント、スタイル、サイズと色を設定するには、直接マークアップを適用することができます。このようにして
...
<head>
<style>
.hello {
font-size: 1.5em;
color: #555555;
font-family: "Times New Roman", Times, serif;
}
<style>
</head>
<body>
<div><span class="hello">Hello World</span></div>
...
、CSS クラスは、あなたのHTMLマークアップにelswhere再利用することができます。
また、それ独自のCSSファイル(例my.css
)にすべてのCSSを置くことができます:あなたの出力HTMLであること
.hello {
font-size: 1.5em;
color: #555555;
font-family: "Times New Roman", Times, serif;
}
そして<link>
:
...
<head>
<link rel="stylesheet" type="text/css" href="my.css">
</head>
<body>
<div><span class="hello">Hello World</span></div>
...
それはPerlを利用することになるとtemplatingを利用して問題に近づいてください。 HTMLをテンプレートファイルに入れ、HTML::Template
やTemplate::Toolkit
などのテンプレートを使用して読み込み、必要な値を入力してそのテンプレートからHTMLページを出力します。
これにより、「マークアップ/ html」をプログラミングロジックから切り離し、インラインのドキュメントの混乱を避け、コードの将来のメンテナンスを容易にします。
出力に「ダイナミック」な色(ページ上で変化する可能性のある色)がある場合は、それぞれをクラスとして定義し、テンプレートを使用して、選択したスタイルを与えるために使用するクラスを設定します。 (出力が端末にしたと思われた)
オリジナル質問回答
TERMCAPが(自分の環境でTERM
セットに応じて)色を提供することができます。
あなたはTerm::ScreenColor
CPANモジュールを介してtermcapに利用することができます:それは単なる生のANSIカラーシーケンスを発行し、あなたの長期的な環境を認識しないように私は、Term::ANSIColor
をお勧めしません
use Term::ScreenColor;
my $term = new Term::ScreenColor();
$term->green->puts('This is green')->reset();
。 (単語を使用せずにTerm::ANSIColor
を使用してコードを実行すると、出力に[34;2m
タイプのシーケンスが生成されます)。
注:このモジュールはTerm::Screen
に依存し、次にTerm::Cap
が必要です。
「Term :: ANSIColor」が廃止された理由を説明してくれてありがとう –
私たちがCPANモジュールを使用していない場合、どのようにしてカラーモジュールをcgiファイルに入れることができますか? –
あなたの出力が「cgi」(つまりウェブページ)になってからansiのカラーシーケンスがうまくいかない場合は、CSSをリサーチする必要があります - http://search.cpan.org/dist/CSS/CSS.pm(ただしより多くのCPANモジュール:) –
更新された質問による回答。 Dravはすでに端末にカラー出力を印刷する方法を示しています。
ブラウザのカラー情報を印刷するには、CSSを使用してください。相対HTMLタグとスタイルシートを含めるようにHTML/Templateファイルを編集します。こうした基本的な質問をする前にCGI documentation最初にお読みください:あなたはあなたのCGIスクリプトからスタイルデータを提供する場合
は、あなたはまた
print h1({-style=>'Color: red;'},'Hello world');
以下のような何かを行うことができます。
http://perldoc.perl.org/Term/ANSIColor.html –