Time-stamp: <00/11/08 03:11:02 kawasan>


名称
txt2tbl

用途
Textで記述した表データをHTML化
いわゆるCSV(カンマ区切り)のデータをHTMLのTABLEタグへ変換する
file : ~/bin/txt2tbl
#!/usr/bin/perl
# time-stamp: <00/09/05 14:30:42 kawasan>
# Time-stamp: <00/10/20 16:42:06 kawasan>
#
# ','区切りで表記されたテキストテーブルデータを
# HTML表記で吐き出す
# 
# 入力は標準入力
# 出力は標準出力
#

# HTML-File形式 = 0/1 = Off/On;
$html = 0;

if ( $html == 1 ) {
    print "<html>\n";
    print "\n";
    print "Txt2tbl\n";
    print "\n";
    print "<body>\n";
}

($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
print "\n";
print "<table border>\n";

while () {
    if ( /^#/ ) {
	next;
    }

    if ( /^$/ ) {
	next;
    }

    # ','区切りのデータを配列に取り込む
    chop();
    @tbls = split /,/;

    # 1行分処理
    print "<tr>";
    foreach $tbl (@tbls) {
	print "<td>";
	print $tbl;
	print "";
    }
    print "\n"
}

print "\n";
print "\n";

if ( $html == 1 ) {
    print "\n";
    print "\n";
}
解説
上記のソース内で全角になっているタグがあるがこのPageでの記述として使用でき
ないと判断しやばそうなタグは全角表記しています。(ご容赦ください)

仕事でたまに表データをHTML(社内向けデータとして)化して掲示したいときがある。
この際に、TABLEタグを使用してHTML-fileを書くのが面倒なので馬鹿ちょん式でも
いいのでTABLEタグ化出来ないかとして作成。

file : sample.txt
# ここはコメントになります
No, Name, Code, etc
1, name1, code-001, ここは備考
2, name2, code-002
3, name3, code-003, これもコメント

コマンド・ラインで
$ cat sample.txt | txt2tbl > sample.html
とするとファイルが生成されます。
実際には、ソース内の$htmlは'0'ではなく'1'で使用しています。
ゆえに、最終的には生成されたファイルを他のHTML-fileへ挿入して使っています。


戻る