【perl】split関数・foreach〜配列の要素を切り分けてhtmlで表にして表示してみる〜
#! usr/bin/perl use strict; use warnings; #◎配列の要素を切り分けて.htmlで表にして表示する。 my @info = ( 'kogematsu1@ko.com:koge matsu:11', #アドレスの「@」が展開されないように「''」を使用 'bokematsu2@bo.com:boke matsu:22', 'hagematsu3@ha.com:hage matsu:33' ); print "<html><table border=\"1\">\n"; foreach my $item (@info){ my ($info_1,$info_2,$info_3) = split (/:/,$item); print "<tr><td>".join("</td><td>",$info_1,$info_2,$info_3)."</td></tr>\n"; }; print "</table></html>\n"; #別解:foreachを使わずに書いてみた(結構大変) =head #@「:」で@infoを切り分ける my ($info_k1,$info_k2,$info_k3) = split (/:/,$info[0]); my ($info_b1,$info_b2,$info_b3) = split (/:/,$info[1]); my ($info_h1,$info_h2,$info_h3) = split (/:/,$info[2]); #以下、htmlで表示される部分 print "<html><table border=\"1\">\n"; #ヒアドキュメントを使用 print <<"EOD"; <tr><td>$info_k1</td><td>$info_k2</td><td>$info_k3</td></tr> <tr><td>$info_b1</td><td>$info_b2</td><td>$info_b3</td></tr> <tr><td>$info_h1</td><td>$info_h2</td><td>$info_h3</td></tr> EOD print "</table></html>\n"; =cut
あとは、コマンドプロンプトでこの.plを実行して.htmlを生成。生成した.htmlを実行すると表ができる。