メモっていると便利

日々学んだことを綴っていきます。

perlのcpanをためす。

テキストファイルからhtmlファイルを作成するプログラムを作成しようと思う。
手段はperlcpanを使いたい。cpanというのは別の人が作ったプログラムモジュールを読み込んで自分のプログラムから利用するための環境。これを使うと早く目的を達成できるよう。

まずperlの環境をインストール。active perlをインストールする方法もあるが、最近はStrawberryPerlをインストールする人も増えているらしい

f:id:yusuke1235:20140407005710p:plain

ここで以下のリンクをクリック
Jan 2014 Strawberry Perl 5.18.2.1 (64bit)
ダウンロードしたデータを実行、基本的に「次へ」。環境変数も自動的に設定される。

次はcpanのモジュールのダウンロードとインストール。
必要はものについて随時行うスタイル。

今回は、HTML:Template モジュールのみ行います。
これは、htmlのテンプレートファイルの中にある変数に、プログラムから値を設定できるようにするものです。

以下の画面を参照。

f:id:yusuke1235:20140407011015p:plain

d:\perl\20140405\trunk>cpan
cpan shell -- CPAN exploration and modules installation (v2.0
Enter 'h' for help.
cpan> install HTML::Template

以上で環境の準備は完了。
今回は2ファイル作成します。

一つはテンプレートファイルのhello.tmpl

<html>
<head><title>HTML::Template Test</title></head>
<body>
<h1>HTML::Template Test</h1>
<p>私の名前は <TMPL_VAR NAME="NAME"> です。 <TMPL_VAR NAME="PER"> に住んでいます。
</p>
</body>
</html>

もう一つはperlプログラムのcpantest20140407.pl

use strict;
use HTML::Template;
use warnings;
#use utf8;

my $tmpl = HTML::Template->new(filename => 'hello.tmpl');

$tmpl->param(
  NAME => "ゆうすけ",
  PER => "神奈川県",
);

print "Content-Type: text/html\n\n", $tmpl->output;

なお、両方ともsjis形式です。
そうしないと文字化けを起こすため。

これらを実行すると、以下の出力結果を得られます。

f:id:yusuke1235:20140407011016p:plain

d:\perl\20140405\trunk>
d:\perl\20140405\trunk>perl
Content-Type: text/html

<html>
<head><title>HTML::Template
<body>
<h1>HTML::Template Test</h1
<p>私の名前は ゆうすけ です
</p>
</body>
</html>
d:\perl\20140405\trunk>

cpantest20140407.plから、hello.tmplの値を設定しているのがわかります。