2007-01-01から1ヶ月間の記事一覧

Catalyst Catalyst::Engine::CGI

Catalystの起動はどこじゃらほい。と改めて思い直し、どこ見たもんやらと思っていたら・・・Catalyst::Engine::CGIみれば早かった #!/usr/bin/perl -w use strict; use lib '/path/to/MyApp/lib'; use MyApp; MyApp->run; runをみると、$c->engine->run( $c,…

mod_perl pdf

mod_perlってページごとにpdfくばってんのね。http://perl.apache.org/

Tie::RefHash perl

なんじゃろと思っていたら、 ハッシュのキーにリファレンスを使うことができるようにするモジュールだった。 1 use strict; 2 3 use Tie::RefHash; 4 5 my %h; 6 7 tie %h, 'Tie::RefHash'; 8 9 %h = ([qw(aa bb cc)] => 'hoge'); 10 11 for my $key (keys %…

zsh

自分が使ってる道具のことをもう一寸把握しとこう。 今更言うのも何ですが。http://www.ayu.ics.keio.ac.jp/~mukai/tips/zsh.html http://journal.mycom.co.jp/column/osx/055/ http://dengaku.org/naoki/zsh/

perl 外部コマンド

外部コマンドの結果が欲しかった。 my $result = `ssh $ip echo "hoge"`; こんなんで良かった。でも Net::SSH::Perlの方がよさそうだ。http://search.cpan.org/~dbrobins/Net-SSH-Perl-1.30/lib/Net/SSH/Perl.pmついでに perl プロセス間通信もよんどこ。htt…

Template::Toolkit perl

TTで文字列を先頭から何文字までだすという制限を加えるやつがあった。 [% string | truncate(20) %] あ、こんなんだった。 http://www.template-toolkit.org/docs/plain/Manual/Filters.html

Wide character in print [perl]

Wide character in print って言われました。 use Encode; print encode('utf8',$str) ; で解決した。下記のサイトでお世話になりました。http://www.ksknet.net/perl/wide_character.html

Text::AutoLink perl

リンク変換をやってくれる人。 1 use Text::AutoLink; 2 3 my $hoge = Text::AutoLink->new; 4 5 warn $hoge->parse_string('http://hoge.com/'); こなかんじ。 <a href="http://hoge.com/">http://hoge.com/</a> いいなあhttp://search.cpan.org/~dmaki/Text-AutoLink-0.02/lib/Text/AutoLi…

SQL::Translator perl

こんな感じに翻訳してくれるのね。 my $output = $translator->translate( from => 'MySQL', to => 'Oracle', filename => $file, ) or die $translator->error; http://search.cpan.org/dist/SQL-Translator-0.08/lib/SQL/Translator.pm

perl mixin

とかできるやつが出てた。 use mixin 'Hoge'; とりあえずめも。http://search.cpan.org/dist/mixin-0.04/lib/mixin.pmちなみにmixinに関しては下記。http://bulknews.net/lib/mailmag/29/mag.txt http://ruby.mirror.easynet.be/ja/uguide/uguide17.html

Catalyst Catalyst::Base

sub auto : Private が気になったのでメモ。 sub _AUTO : Private { my ( $self, $c ) = @_; my @auto = $c->get_actions( 'auto', $c->namespace ); foreach my $auto (@auto) { $auto->dispatch( $c ); return 0 unless $c->state; } return 1; } http://s…

perl mysql DBIC

こんなエラーが・・ Can't initialize character set utf8 この場合以下の2パターンらしい。 キャラクタセットがマルチバイトのキャラクタセットであるが、クライアントではキャラクタセットがサポートされていない。 キャラクタセットが単純なキャラクタセ…

Class::DBI

HASHのリファでもよかったのね。 oooo orz sub find_or_create { my $class = shift; my $hash = ref $_[0] eq "HASH" ? shift: {@_}; my ($exists) = $class->search($hash); return defined($exists) ? $exists : $class->insert($hash); } http://search.…

DBIC ResultSetManager

こういうふうにメソッドはやしたいなら $hoge->('Artist')->hoge; こうすれば良かったのね。 package Hoge::Schema::Artist; use base qw/DBIx::Class/; __PACKAGE__->load_components(qw/ResultSetManager PK::Auto Core/); sub hoge : ResultSet { my $sel…

Catalyst Plugin

事前処理を追加したい場合、こんな感じになるわけね。 sub prepare { my $c = shift; $c = $c->NEXT::prepare(@_); # 処理 return $c; } 参考http://search.cpan.org/~lyokato/Catalyst-Plugin-FormValidator-Simple-0.12/lib/Catalyst/Plugin/FormValidator…

Carp

cluck and confessのメッセージを返してくれる。 自分でwarnしたりdieしたいときに便利。 1 package Hoge; 2 use strict; 3 use warnings; 4 5 use Carp qw(cluck); 6 7 sub test { 8 my $self = shift; 9 10 print Carp::longmess; 11 } http://search.cpan…

URI perl

めも 1 use strict; 2 use URI; 3 4 my $uri = URI->new('http://hoge.com/'); 5 6 $uri->query_form( foo => 'aaa' ); 7 8 warn $uri; こんなん http://hoge.com/?foo=aaa http://search.cpan.org/~gaas/URI-1.35/URI.pm

WW::Mechanize::Shell

こんな感じで使うのだけど perl -MWWW::Mechanize::Shell -eshell >get http://hoge.com/ Retrieving http://hoge.com/(200) http://hoge.com/>links [0] page [1] hogeんーhttp://search.cpan.org/~corion/WWW-Mechanize-Shell-0.39/lib/WWW/Mechanize/Shel…

ruby Enumerable

メモ collect! {|i| i[1]} Enumerable自体は、「繰り返しを行なうクラスのための Mix-in。」だそうです。基本 map のようなもんと認識しとけばOKかな。http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Enumerable