perl
※一連のAmon2関連の写経は、これで、一旦、終了Amon2のデフォルトのorマッパーはTengですが、試しに DBIx::Class (dbic)に変更。 http://amon.64p.org/database.html STEP1 - dbicのスキーマクラスを作成 DBIx::Class::Schema::LoaderによるDBIC用スキーマ自…
DBIx::Class::Schema::Loaderの手動スキーマ生成、初心者向けチュートリアル - Yet Another Hackadelic まぁ、↑こちらに記載されている通りですが、そのままではtableやcolumnに登録した日本語が文字化けしてしまうので、make_schema_at() のDB接続オプショ…
以下は、ORマッパーを使用しないケースです 設定ファイル - development.pl use File::Spec; use File::Basename qw(dirname); my $basedir = File::Spec->rel2abs(File::Spec->catdir(dirname(__FILE__), '..')); my $dbpath = File::Spec->catfile($basedi…
更に先程のエントリの続きです http://amon.64p.org/cli.html ↑こちらに記載されている通りですけど、bootstrap() でコンテキストを取得できるので、後は、DB処理等をお好きに #!/usr/local/bin/perl use strict; use FindBin; use File::Spec; use lib File…
アプリのプロファイリングで、手間取ったのは、きっと、別プロセスにしたことが原因
Net::FTP - search.cpan.org Net::SFTP - search.cpan.orgNet::FTP -> Net::SFTP への移行で、何も考えずに Net::FTP -> Net::SFTP の置換後、次のようなsrcでnewすると... use Net::FTP; my $ftp = Net::FTP->new('hogehoge.host.jp', Debug => 0) or die "…
データを1秒未満で、シリアライズする必要があったので #!/usr/local/bin/perl use strict; use Time::HiRes qw/gettimeofday/; use Date::Calc qw/Localtime/; main(); sub main { my ($epoc_time,$micro_sec) = Time::HiRes::gettimeofday(),"\n"; my @Loc…
31進数で出力する必要があるらしいので... http://search.cpan.org/perldoc?Math%3A%3ABaseCalc #!/usr/local/bin/perl use strict; use utf8; use Math::BaseCalc; main(); sub main { my $base_31 = Math::BaseCalc->new(digits=>[0..9,'A'..'U']); print …
以前から、Spreadsheet::WriteExcelで日本特有の書式(¥や平成等の和暦年度)を出力したいと思いつつ、ほっといていますが、Spreadsheet::ParseExcel::FmtJapan が参考になるのかも以下は、Spreadsheet::ParseExcel::FmtJapan のsnippet my %FormatTable = ( …
どうやら、次のload_total_data()でclose()が例外を投げるみたい。 標準出力を2個経由している為?、opensslを利用している為? よく分かりませんが、dieせず、warning程度にしておきます my $OPENSSL = '/usr/bin/openssl'; my $GUNZIP = '/bin/gunzip'; my $…
結局、これがお手軽。 apacheのログ(access_log)をパースするcpan moduleは多くあります Regexp::Log::Common Barbie / Regexp-Log-Common - search.cpan.org Parse::AccessLogEntry Marc Slagle / Parse-AccessLogEntry - search.cpan.org Apache::ParseLog…
psgiファイルの書式は、サンプルファイルで一目瞭然 $ ls -l Plack-0.9986/eg/dot-psgi/ total 68 -rw-r--r-- 1 endo endo 135 Feb 24 2011 Dumper.psgi -rw-r--r-- 1 endo endo 122 Dec 5 02:29 Hello.psgi -rw-r--r-- 1 endo endo 262 Feb 24 2011 cgi-pm.…
と思って、Config::Generalのperldocを読んでみましたがよく分かりませんでした。 http://search.cpan.org/perldoc?Config::General が、次のようなscriptでserializeすればいいだけのことでした。 #!/usr/local/bin/perl use strict; use utf8; use Config:…
http://search.cpan.org/perldoc?Plack::Handler::Apache2 http://search.cpan.org/perldoc?Plack ↑これらのurlに記載されている通りですが、自分用の練習です。まず、次のperl scriptをhello.psgiというファイル名で保存。 #!/usr/local/bin/perl use stric…
何だろう? make時にerrorは見当たらなかったし...、今度、気が向いたら調べます [endo@colinux POE-1.350]$ make test /usr/local/bin/perl mylib/gen-tests.perl lib/POE.pm <略> t/90_regression/neyuki_detach.t .................... 1/12 # Failed te…
タイトルの通りです。 POE の古いverを探していたら、辿り着きました。 http://backpan.perl.org
http://search.cpan.org/perldoc?HTTP::Body HTMLのパーサは HTML::Parser ( http://search.cpan.org/perldoc?HTML::Parser )しか知りませんでしたが、HTTP::Body は気楽?に解析できてよいかも。 use HTTP::Body; sub handler : method { my ( $class, $r ) …
http://search.cpan.org/perldoc?Filesys::Notify::Simpleこういうものがあるんですね。 #!/usr/local/bin/perl use strict; use Filesys::Notify::Simple; use Data::Dumper; main(); sub main { my $watcher = Filesys::Notify::Simple->new([ "./test" ])…
http://d.hatena.ne.jp/toku_bass/20110716#1310844437Archive::Zipを使ってzipデータを解凍する場合、必ずファイルに書き出す必要があると思っていましたが、IO::String を使えば、zipデータを直接、解凍できるみたい。 ※一方、圧縮(ZIP)に IO::String は必…
cpanにはk-meansアルゴリズムを実装したmoduleがたくさん http://search.cpan.org/search/?query=k-means&mode=allsearch.cpan.orgで「k-means」をキーワードに検索すると、Algorithm::KMeans だけでなく、Text::Bayon や Algorithm::Cluster 等、約10個のモ…
http://search.cpan.org/perldoc?Math::Combinatorics 書こうと思えば、書けますが、こういうmoduleがあると、やはり使ってしまいます。 #!/usr/local/bin/perl use strict; use Math::Combinatorics; use Data::Dumper; main(); sub main { #階乗 my $ret_f…
encountered object 'Sample::ClassObj=HASH(0xa679b58)', but neither allow_blessed nor convert_blessed settings are enabled at /usr/local/lib/perl5/site_perl/5.10.1/JSON.pm line 154.\nと、JSON.pmに怒られて、「perlのオブジェクトのblessって解…
select * from (select hm.member_id, sum(val) as val from $tbl_name ss join hems_member hm on (hm.update_date<=? and ss.member_sid=hm.member_sid) where ?<=ss.date_month and ss.date_month<=? group by hm.member_id ) as ss_summary where val=0;…
#!/usr/local/bin/perl use strict; use utf8; use Authen::SASL; use Net::SMTP; main(); sub main { my $smtp = Net::SMTP->new( 'hogehoge.jp', Hello=>'hogehoge.jp', Port=>587, Timeout=>20, Debug=>1 ); die "can't connect smtp server: $!" unless …
http://d.hatena.ne.jp/end0tknr/20090316/1237158571以前、書いた \p{In〜}によるblock正規表現に関連する内容です。 「use utf8;」の場合、全角or半角に関わらず1文字として扱ってしまうので、次のように書けば、全角=2文字,半角=1文字で文字列長を算出で…
http://www.finds.jp/docs/pgisman/1.5.1/postgisのリファレンスを読んで、perlやjava、c等言語を問わず、幾何学計算を実現できそうな気がしたので試してみました。 (postgisのinstallは別のエントリをご覧下さい)回転や拡大縮小、移動は、html5 canvasでも…
http://d.hatena.ne.jp/end0tknr/20090314/1237003479以前も同様のエントリを記載していますが、apache 2.2.19 + mod_perl-2.0.5 の組み合わせでは、なぜか静的moduleとしてinstallできません。(error msg等は面倒なので書きません)なので、mod_perlをdsoで…
関西電力だけは、やや書式が異なるようですが、次のように書けば良さそう。 #!/usr/local/bin/perl use strict; use utf8; use Encode; use HTTP::Request::Common; use JSON qw/encode_json/; use LWP::UserAgent; #各電力会社から提供されている電力使用状…
http://search.cpan.org/dist/Gearman/ http://search.cpan.org/dist/Gearman-Server/job queueサーバのGearmanについて調べていますが、試しに自動起動scriptを書いてみました。 実際の環境に合わせて書き換えが必要な部分もありますが、とりあえず、動作し…
cpanにはApache::AuthTicketやApache::AuthCookie等、mod_perlによる認証モジュールはありますが、modperlを使った実装を経験したことがないので、試しに書いてみました。 概要 まず、user_id / passwordでloginすると、rsa private keyによる署名付のcookie…