やっと出来たのでメモ。 起動スクリプト mojo.cgiを #!/usr/bin/env perl use strict; use warnings; use lib "../lib"; use App; app->start('cgi'); exit; こんな感じで呼び出すと通常のCGIとしてならなんの問題もなく実行出来るのだけれど、SpeedyCGIで実行しようとすると初回実行時に不具合が出る(テンプレートが読み込まれない?)上記実行方法でも2回目以降(キャッシュ後)は動作している感じ。 FastCGIやmod_perlでのエントリーは見かけるんだけど、いかんせんマイナーなSpeed […]
id:tokuhirom氏作の Email::MIME::MobileJP::Template を発見したので使ってみる。 PODにあるコードは動作しないので注意。renderメソッドのAPIが変わったのかな?ソースを見ると引数の最初に送り先のメールアドレスを指定しないとダメみたい。 それと、Email::MIME::MobileJP にあるソースも間違えているので注意。syntax=>'TTerse' は newする時に引数で指定する事。 use Email::MIME::MobileJP::Template; use Email::Sender::Simple; my $token= […]
perlスクリプトをSpeedyCGIスクリプトとして動作させる場合、グローバル変数の値は保持され続ける。なので、一度接続したデータベースハンドルを使い回すことでデータベースへの接続コストを削減できる。 テスト用スクリプト
perlのWAF(ウェブアプリケーションフレームワーク)である Mojolicious(Mojolicious::Lite)をアップロードだけで使えるのか試してみる。 簡単に使えるフレームワークとして、とりあえず Linux+Apacheで動けばおkという前提で。 なにせフレームワーク初心者の戯事なのでそのあたりは察してください。
メール送信に便利な Mail::Sendmail 大変便利なモジュールだけど、RFCに違反しているメールアドレスでは内部のエラーチェックに引っかかり送信出来ない。 例えばこんなメールアドレスには送信出来ない。 例)read_rfc822.@docomo.ne.jp 元ソースの正規表現部分 # regex for e-mail addresses where full=$1, user=$2, domain=$3 # see pod documentation about this regex my $word_rx = '[\x21\x23-\x27\x2A-\x2B\x2D\x2F\w\x3 […]
JavaScriptとかで書いてて便利な無名関数。 perlでも出来たら何か便利かなぁ。 my $sub = sub {print @_, "\n";}; &$sub('Hello,world!'); #実行結果 Hello,world! 関数型言語って何がすごいんですか - Gemmaの日記 にあるJavaScriptの例をperlで書いてみる。
ヒアドキュメントの中でPerlの式を書く print <<EOM; あいうえお かきくけこ EOM こんなのをヒアドキュメントという(らしい) この中にperlの式を埋め込むテクニック。 リンク先より引用 print <<EOM; TIME: @{[ time() ]} EOM 実行結果 TIME: 1229258525 面白い。
Apache2.2でSpeedyCGIのperlモジュールを使うのならyumなりで一発インストールできるけど、mod_SpeedyCGIをインストールしようとするとmakeでコケる。 どうやらパッチを当ててからmakeする必要があるようだ。 参考:Apache2.2にmod_SpeedyCGIを組み込む方法(パッチファイルのあて方) / レンタルサーバー BIG-server.com パッチファイルのダウンロード パッチファイル:CGI::SpeedyCGI with apr-1.0 ※パッチファイルはwgetで入手できないのでダウンロードしておいてFTP等でアップロードする必要がある。
Date::Calc - search.cpan.org 基本 use Date::Calc qw(:all); # 今日 my ($yyyy,$mm,$dd) = Today(); print "$yyyy/$mm/$dd"; # 実行結果 2011/1/21 昨日の日付(日付計算) use Date::Calc; my ($yyyy,$mm,$dd) = Date::Calc::Today(); @y = Date::Calc::Add_Delta_Days($yyyy, $mm, $dd, -1); my $yeste […]
今更ながらまた波ダッシュ問題で悩まされた。 波ダッシュ「〜」と全角マイナス「−」で文字化けが発生する。 これまた、Windowsの問題なわけで、マカーである自分にはなかなか気が付かない罠。 で、 perlの波ダッシュの文字コード変換のまとめ - (゚∀゚)o彡 sasata299's blog を読むと、UTF-8<=>SJIS、UTF-8<=>EUCが書かれているのだけれど、どうやらJISもEUCと同じ挙動をするらしい。 メール送信スクリプトで問題が起きるのはこれが原因か。 で、まとめのリンク先にあった Perlで日本語(ISO-2022-JP)メールを送信(まとめ) […]