perlを使ったWebアプリケーション

■ perl

perlは文字列処理が得意なスクリプト言語です。perlのスクリプトには「.pl」という拡張子をつけます。このスクリプトで出力された文字列がそのままブラウザにHTMLとして出力されます。

たとえば、perlでは文字を出力するのに「print」という関数を使い、次のように書きます

print "Perl";

ここで出力されたPerlという文字列がブラウザに出力されます。

;(セミコロン)は、行の終了を意味して、必ず各行の最後に必要になります。perlでは文字列を”(ダブルクォーテーション)でくくります。

■ perlでデータベースを使う

perlでMySQLを使うには、DBI(DataBase Interface)というデータベース処理用のライブラリを使います。DBIの関数は「DBI -> connnect」のように「DBI -> ~」という名前になります。「->」は「~の」といった意味です。例えば、DBに接続するには「DBI -> connnect」という関数を使って次のように書きます。

use DBI
$con = DBI -> connect ( "DBI : DBDドライバ名 : データベース名 : ホスト名", "ユーザー名", "パスワード" );

「use DBI」は「DBIを使いますよ」という意味で、おまじないのようなものです。「DBI -> connnect」では、接続先やユーザーなどのオプションを指定する必要があります。このコードが実際にうまくいくとMySQLに接続されるはずです。

■ 例

実際にデータベースからデータを引っ張り出して表示するperlスクリプトの例です。

base.pl

#! /user/local/bin/perl

use DBI ;

print "Content-type : text/html \n\n " ;
print "<html> <body> \n " ;

#データベースに接続
$db = DBI -> connect ( "DBI * myswl : tsumiki : localhost", "mysql", "password", { Raiseerror => 0, Printerror =>0 } ) ;
if ( ! $db ){
print "接続失敗 \n" ;
exit ;
}

#SELECT文を実行
$sth = $db -> prepare ( "select id, name from test_tbl" ) ;
if ( ! $sth -> execute ){
print "SQL失敗 \n" ;
exit ;
}

#検索した結果を全部表示
while ( @rec = $sth -> fetcrow_array ){
print "id =".$rec[0]."\n" ;
print "name =".$rec[1]."\n" ;
print "<BR> \n" ;
}
$sth -> finish ;

#データベースを切断
$db -> disconnect ;

print "</body> </html> \n" ;

データベースを使ったアプリケーションでは、通常、@データベースへの接続 ASQLの実行 B結果表示 Cデータベースとの切断 という一連の流れがあります。

<< 戻る

RIKO's Trial Page | Shirley's i-box | Shirley's little box