読者です 読者をやめる 読者になる 読者になる

ずっと定時で帰りたいでござる

ドナドナITマン(Uターン勢)がもがく日記

perlでテキスト読み込んでHTMLファイルを生成する話

こんばんは。本日2回目の更新、瀬野です。

今回はperlでHTMLファイルを作ってみました。

このプログラムに
makehtml.pl

#! /usr/bin/env perl
use strict;
use warnings;

my %keyword = (
	'----'		=>	'<hr>',
	'-mail'		=>	'<a href="mailto:seno@hoge.com">hoge.com</a>',
	'-home'		=>	'<a href="http://www.seno.com/">http://www.seno.com/</a>',
	'-notice'	=>	'リンクはご自由に。フィードバックはお気軽に。',
);

if (@ARGV == 0) {
	#引数が何もなかったので、使い方を表示して終了
	print "Usage: perl makehtml.pl input.txt > output.html";
	exit(-1);
}
print "<html>\n";
foreach my $file (@ARGV){
	open(FILE, $file) or die "$!";
	while (my $line = <FILE>){
		chomp($line);
		if ($line =~ /^\*\*(.*)/){
			print "<h2>$1</h2>\n";
		}elsif ($line =~/^\*(.*)/){
			print "<center><h1>$1</h1></center>\n";
		}elsif (exists($keyword{$line})){
			print "$keyword{$line}\n";
		}else{
			print "$line\n";
		}
	}
	close(FILE);
}
print "</html>\n";

こいつを読み込ませて、HTMLファイルを生成します。

*私のページヘようこそ
----
**こんにちは
こんにちは!私のページへようこそ。
このページは、
-home
です。
----
*自己紹介
私は瀬野某と言います。どうぞよろしく。
----
*メール待ってます
あなたからのメールをお待ちしています。
メールアドレスは、
-mail
です。
----
-home
----
-notice

実際に生成されたHTMLファイルをwebブラウザで見ると、こんな感じになります。

f:id:senobro:20170502223822p:plain

これをCSSで飾りつけしたり、他のページ作るときのひな型にしても面白そうですね。

続きはまた次回。
明日は、サンプルサイトの他ページを一気に作っていこうと思います。