忍者ブログ

Home > > macでApache、Perl、SQLite

[PR]

  • 2024-04-30

Share on Tumblr このエントリーをはてなブックマークに追加

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Comments:

Trackback+Pingback:

Listed below are links to weblogs that reference
[PR] from Born Neet

Home > > macでApache、Perl、SQLite

Home > Perl > macでApache、Perl、SQLite

macでApache、Perl、SQLite

Share on Tumblr このエントリーをはてなブックマークに追加

Canvasでゲームの戦闘シーンを作るのに飽きたので(!)
気分転換に久々にPerlをやってみる。

といってもmacにperlの環境を構築してなかったので、そこから。
SQLiteを叩けるところまでが目標。

Apache

$ which httpd
/usr/sbin/httpd
入ってた。
起動はGUIでやるらしい。せっかくUnixなのに何かやだ。
かといって毎回「sudo apachectl start」してパスワード入力も勘弁。

じゃ、ソースから入れ直そう。

curl -O http://ftp.riken.jp/net/apache/httpd/httpd-2.2.14.tar.gz
tar xf httpd-2.2.14.tar.gz
cd httpd-2.2.14

./configure --prefix=/Users/t/apache --enable-ssl
make
make install

cd
vi apache/conf/httpd.conf
Listen 8080

vi .profile 
export PATH=/Users/t/apache/bin:/opt/local/bin:/opt/local/sbin:$PATH
source .profile
apachectl start

http://localhost:8080/

よしOK。
(SSLはめんどかったので省略)

Perl

which perl
/usr/bin/perl
which cpan
/user/bin/perl
あった

cpan
ごちゃごちゃ設定・・・はなく自動で終わった。

vi apache/cgi-bin/index.cgi
#!/usr/bin/perl

use strict;
use warnings;

use CGI;

my $q = CGI->new;

print $q->header;

print 'Hello, Perl on Apache on Snow Leopard!!';

chmod a+x apache/cgi-bin/index.cgi

http://localhost:8080/cgi-bin/index.cgi

SQLite

最後。
参考→Mac(Leopard) に DBD::SQLite をいれる時には注意 | Supernova
yohsuke.net ++: DBD::SQLiteのお勉強
Perl と SQLite についてお尋ねします。 PerlとSQLiteを使ったソースを多く見てみたいのですが、 初心者向けのソースがあるHPを紹介していただけないでしょうか? いろ.. - 人力検索はてな

which sqlite3
/usr/bin/sqlite3
あった

sudo cpan
cpan[1]> o conf makepl_arg USE_LOCAL_SQLITE=true
cpan[2]> install DBD::SQLite

mkdir apache/data

vi apache/cgi-bin/sqlite.cgi
#!/usr/bin/perl

use strict;
use warnings;

use CGI;
use DBI;

my $q = CGI->new;

my $db = '../data/test.db';

my $dbh = DBI->connect("dbi:SQLite:dbname=$db");
$dbh->do('CREATE TABLE foo (id integer primary key, name)');

my $insert = $dbh->prepare("INSERT INTO foo VALUES(?, ?)");
$insert->execute(undef,'t');

my $select = $dbh->prepare("SELECT * FROM foo WHERE id=?");
$select->execute('1');
my @row = $select->fetchrow_array;

print $q->header;

print '<pre>';
print "id\tname\n";
print join("\t", @row);
print '</pre>';


chmod a+x sqlite.cgi

http://localhost:8080/cgi-bin/sqlite.cgi

なんか最後のスクリプトがとてつもなく怪しいけど、
一応できた。

うーん、Perl使いへの道のりは遠いなぁ!

PR

Comments:0

Comment Form

Trackback+Pingback:

TrackBack URL for this entry
Listed below are links to weblogs that reference
macでApache、Perl、SQLite from Born Neet

Home > Perl > macでApache、Perl、SQLite

Search
Loading
Feeds
Links
スポンサードリンク

Page Top