perl

カラム名一覧取得

ObjectDriverを使って、対象のカラム一覧を取る方法なんだけど、Iterator,ResultSetから取る方法が見当たらなかったので、しかたなく、BaseObject側から取る。流れ firstで1列目のレコードとる。 coloumn_namesで一覧をとる prevで元にもどす。 ループまわ…

search_abstract

なんとなくBaseObjectに関数を追加して、 SQL::Abstract::Limitを使えるようにしてみた。適当な感じですが。 生sql + bind から簡単に、Iteratorを作成できる関数とかが欲しいなぁ。ないかなぁ。 sub search_abstract { my ( $self, $where , $order , $limi…

MooseX 関連でこまったときのHow To

昨日、MooseX::App::Cmdがエラるのを発見。 id:dann さんに通報id:dann さんパッチ作って送信id:dann さんコミット権を貰うid:dann さんパッチを適応するid:dann さんからリリース待ちの連絡が入る。 結論 Moose関連でこまったら、id:dannさんに連絡する。 d…

App::Cmd

App::Cmd使った時。表示されないケースがある。 sub run { print "hoge"; } 改行つけると表示される。 sub run { print "hoge\n"; }

正規表現 + utf8

utf8の場合\d で にほんごの「1」がパスするのを今日知った... \wで にほんごがパスするのを今日知りました。それだけです。

 perl-mongers!!

http://perl-mongers.org/チップ的なブログ書いたり、質問的なこと書いたり、微妙なことを書いたりできる、perlのネタで繋がるblogっぽい。僕も早速書いてみたよ!ていうか、一番最初に書いたw皆も気軽に書くといいよ!じゃね!

undead.

perlが好きな人は、php言語を始める敷居の低さ、php言語でできたアプリの手軽さを「優れた能力」として評価し、真剣に考えるべきだと思う。php vs perlで比べるとき言語能力だけで評価して馬鹿にしていると、perl userはいなくなるなぁとYAPCでの話を聞いて…

Acme::DRYCopyPasteでDRYなコードを書こう!

コードをコピーしてペーストばっかりしてるそこの君、それってDRYじゃないよね。そういうあなたのために、 Acme::DRYCopyPaste〜〜〜使い方は簡単だよ。(Perl6::Say 0.12がインストールされてるのがサンプルの前提) use Acme::DRYCopyPaste; my $d = Acme::D…

Template-Toolkit でのメモ

テンプレートツールキットのファイルをローカルで、表示できるようにしたい。(デザイナーさん的に) サーバー側で、テンプレートに渡したデータをキャッシュするサーバ。(objectとかあるし、可能なのかこれ?) クライアント側で、キャッシュサーバからデー…

Module::Install とタイムスタンプ

Module::Installを使ってモジュールを作った場合、サーバの時間が未来に狂ってた場合にエラーになる。(過去になれば治る) 時間は合わそうね! # If the script that is loading Module::Install is from the future, # then make will detect this and caus…

OreOre-Starter

OreOre-Starterをid:dannさんにそそのかされて作りました。 使い方は、id:dannさんが詳しくそのうち、サンプル付きで書いてくれると思う。

検証モジュール Data-FormValidateEm(仮名)

Data-FormValidateEm てのを作ってる。前にもいったかも。それなりに動くようになったので、ちょっとメモっとく。 特徴 フォームごとではなく、アプリ単位でConstraints設定をおこなう 検証プラグイン追加ができる実装 メッセージ周りがすげー怠けれる DFVを…

gearmand

gearmandにね、telnetで入って、status ってタイプするとステータスがみれるよ。id:hidedenに教えてもらった。 possy# telnet localhost 7003 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. status foo 10 0 0 bar …

Data-FormValidateEm

Data-FormValidateEmとうのを、codereposに置かさせてもらいました。アプリケーション単位のスコープのFormValidatorを作ろうと思ってます。結構たくさん、validator系はありますが、ほとんどが、formごとのスコープになっていて、アプリケーション全体で意…

今日のperl チップ ハッシュのkeyを比べよう。

hash vs hash の変数のkeyのマッチを調べたい時があるよね!こんな感じでできるよ! Data::FormValidatorのコードをパクって借りようとして、気になったところを今日のperlチップとかっこ良くいって、メモってるのは秘密だよ! #!/usr/bin/perl use strict; …

今日Perl Tip. 配列をプリントアウトしたいぜ!

ウンワックック。今日の、3分間ちっぷすだよ。配列をプリントアウトすると、スペースで区切られるけど、 それって、$" の値だから、それを変えちゃうと、ハァハァだよ! #!/usr/bin/perl use strict; use warnings; my @food = qw/sashimi yakiniku purin/; …

Template-Toolkitの予約語

先週、スーパーファンタスティックマークアップエンジニアのhamashunさんに、template toolkit に loopっていう特別な変数があるのを教えてもらった!予約語があるのを初めて知ったよ! こんな感じでつかえるよ! [% FOREACH item = [ 'foo', 'bar', 'baz' ]…

Term::ProgressBar

Term::ProgressBar試してみた。それだけ。

CSVとかTAB区切りファイルとかから、アレイハッシュを作るチップ

一行目がキーで、それ以降がデータのファイルを想定! このコードがかっこいい。id:hideden に教えてもらった。 Thanks! @row{ @fields } = split("\t" , $line ); サンプル use strict; use warnings; use Data::Dumper; my $tab = "\t"; my $DATA =<

XMLRPC::Lite & mode_perl & segmentation fault

なんかうまくいってなかったのはこれが原因でした。http://blog.yappo.jp/yappo/archives/000178.html --disable-rule=EXPAT追加してコンパイルしなおした。注意として、 起動しながらコンパイルした方は、restart だと反映されないぽいので、stop & start …

Pod::ProjectDocs と PerlHack#5のマッシュアップ

perlHack#5はオートコンプリートね。 Pod::ProjectDocs をちょっと勝手に改造 package Pod::ProjectDocs; sub gen { # こんな感じでモジュールを出力するようにする $index_page->publish(); my @modules = map { $_->{name} } @perl_modules; print join( "…

といあえず、お下品さを取り除いた,POE::Component::Server::IRC::WhoIsTagged

クライアントを複数起動しての動作確認が辛いので、もうこれはだめです。 お下品な人は、sample.yamlの値を変更すれば良いと思います。 package POE::Component::Server::IRC::WhoIsTagged; our $VERSION = '0.01_01'; use strict; use warnings; use Data::…

POE::Component::Server::IRC::Plugin

うーん。POE::Component::Server::IRC::Pluginを使用して、POE::Component::Server::IRC->_daemon_cmd_messageこの辺りをいじれる実装はどうやるのだろうか。 _defaultをみる限りイベントが発生しないんだよね。なんか、触るところ間違ってるのかな。発言イ…

友達を見つけたり、追加したりが楽になるNet::Twitter::FriendFinderをCPANにリリースしました

以下で取得することができます。http://search.cpan.org/~tomyhero/Net-Twitter-FriendFinder-0.02/簡単な使い方をもう一度まとめようと思います。 自分の興味があることを発言しているユーザを見つけたい時(フォローしたい時) 例えば、「寿司」を発言してい…

followingとfollowerの関係と、自分のfollowingと知り合いのfollowingの差を知りたい時に便利なNet-Twitter-Diff

Net-Twitter-Diff-0.03をCPANにリリースしましたいくつかの使い方があります。 あなたをfollowerしているけど、あなたがfollowingしていない人を見つけて追加したい時。 あなたが発言していることを、この人が聞いてくれてるのか調べたい時。 自友達がfollow…

無理やり人のモジュールに関数を追加する方法

無理やり人のモジュールに関数を追加するのはおすすめできないけど、たまに必要になる。 その関数が本来必要なら、作者に連絡した方がいいと思うが、オレオレな場合とか。 あと、パッケージ名が変わってもいいなら、継承してもいいかな。 やり方は簡単。パッ…

Net-Twitter-Friend-Finder

昨日のコードをパッケージっぽくした。 http://tomyhero-perl-module.googlecode.com/svn/trunk/Net-Twitter-Friend-Finder/追記: 移動しました。http://coderepos.org/share/browser/lang/perl/Net-Twitter-Friend-Finder package Net::Twitter::Friend::Fi…

googleで検索した内容で引っかかるtwitterのユーザを追加するスクリプト

googleで「site:.twitter.com perl」と検索して見つけた人をfollowするスクリプトを書いて、実行してみました。 現在実行中です。500件中からの検索結果はさすがに多すぎたかなぁ。100件でよかったかも。アカウント停止とかされそうな気がしたので、途中…

ハテナのキーワードページのRSSはタイトルだけなので

Fastladderにhttp://d.hatena.ne.jp/keyworddiary/perl?mode=rssを購買したんやけど、タイトルだけ表示であまりいけてないので、内容も含むようにRSSを修正したスクリプトを書いた。http://nyankoro.com/hk.cgi重いので、ファイルキャッシュした。dreamhost…

Acme::StrictAndWarnings

昨日のコードをそれっぽいナマエで。 これって、useの重複が多いシステムとか集めてやれば、楽になるかもなぁ。 って、どっかで、むかしそういう記事を読んだきがする。 package Acme::StrictAndWarnings; our $VERSION = 0.01; use Filter::Simple; FILTER …