┌─────────┐
│perl超入門(4):付録│
│ 2002/11/17│
└─────────┘
perlスクリプトのサンプルソースです。
このHTMLファイル自身がサンプルソースから変換されたものです。
サブルーチンを使っていますが、講座としては次々回に扱う予定です...(^_^;
[▲前ページへ戻る▲]
#============================================================
# TXT→HTMLコンバータ HTMLCONV perl (htmlconv.pl)
# by Monpe
# jperl等(2byte文字対応環境)での実行を仮定したスクリプトです
#------------------------------------------------------------
# [機能]
# ・テキストファイルを「そのままの体裁」でHTMLに変換します
#
# ・連続した半角スペースは全角スペースへ変換します。
# ・行先頭の単独半角スペースは、背景色と同じダミーキャラク
# タを埋めます。
# ・ダミーキャラクタの色は「$BGCOLOR」で指定します
#
# [使い方]
# jperl htmlconv.pl 対象TXTファイル名
# ・変換結果は標準出力に表示されます。
# ・ファイル化したい場合はリダイレクトを使用して下さい。
# jperl htmlconv.pl 対象TXTファイル > 変換ファイル名
#
# [著作権と免責]
# ・本スクリプトの著作権はMonpeが保有します。
# ・本スクリプトを使用して生じたいかなる結果に対しても、
# Monpeは責を負いません。
#------------------------------------------------------------
# Version | Date | Comments
#---------+------------+-------------------------------------
# 1.00 | 2002-11-16 | 初版
#============================================================
$ver_val = '1.00'; # Version番号
$BGCOLOR = '#FFFFFF'; # 隠れキャラ用背景色
#--------------------------------
# メインルーチン
#--------------------------------
&Sub_ArgCount; # 引数チェック
&Sub_HeaderPrint; # ヘッダ系タグ出力
while(<>){
&Sub_MainConvert; # 本文変換ルーチン
}
&Sub_FooterPrint; # フッタ系タグ出力
exit; # 終了
#--------------------------------
# コマンド引数チェック
#--------------------------------
sub Sub_ArgCount {
if (($#ARGV + 1) < 1) {
print "error!! : ファイル名を入れて下さい\n";
exit;
}
}
#--------------------------------
# ヘッダ系タグ出力
#--------------------------------
sub Sub_HeaderPrint {
print '<HTML>',"\n";
print '<HEAD>',"\n";
print '<TITLE>';
&Sub_Title; # タイトル文字列作成
print '</TITLE>',"\n";
print '<HTMLCONV on Perl Ver.',$ver_val,' by Monpe>',"\n";
print '</HEAD>',"\n";
print '<BODY><TT><NOBR>',"\n";
}
#--------------------------------
# ファイル名から.txt拡張子を削除
#--------------------------------
sub Sub_Title {
local($str_title);
$str_title = $ARGV[0];
$str_title =~ s/\.txt//i;
print $str_title;
}
#--------------------------------
# 本文変換ルーチン
#--------------------------------
sub Sub_MainConvert {
$_ =~ s/ / /g; #2個の半角スペース → 1個の全角スペース
$_ =~ s/&/&/g; #& → &
$_ =~ s/</</g; #< → <
$_ =~ s/>/>/g; #> → >
$_ =~ s/\"/"/g; #" → "
$_ =~ s/^ /<FONT color=\"$BGCOLOR\">S<\/FONT>/;
#先頭半角スペース → 背景色キャラ埋め
#背景色は「$BGCOLOR」で指定
$_ =~ s/\n/<BR>\n/; #\n → <BR>\n
print; #変換後出力
}
#--------------------------------
# フッタ系タグ出力
#--------------------------------
sub Sub_FooterPrint {
print '</NOBR></TT></BODY>',"\n";
print '</HTML>',"\n";
}
[▲前ページへ戻る▲]