perl

Amonでctx_request

Ark::Test や Catalyst::Test でおなじみの ctx_request をつかってテストを書く必要があったので書いてみました. Data::Util or Moose を使う程ではないと思ったので, ベタっといった感じ.俺はそんな感じ.正しい実装ではない可能性があることを断っておきま…

ランダムに一つのROWをとってくる

package App::Schema::Table::Hoge; use strict; use warnings; use base qw/DBIx::Class::ResultSet/; sub get_random_row { my ($self) = @_; my @ids = $self->search( {}, { select => [ qw/ id / ], } )->get_column('id')->all; my $id = $ids[ int( r…

DBIC_TRACE=1のときに発行されるsqlにどこで発行されたクエリか追記する

package DBIx::Class::Storage::Statistics::Caller; use strict; use warnings; use base qw/ DBIx::Class::Storage::Statistics /; sub query_start { my ($self, $string, @bind) = @_; my $caller_sub_name = $self->_get_non_dbic_caller; my $message …

List::Util::first の返り値でハマったのでメモ

use Test::Base qw(no_plan); use Test::Exception; use List::Util qw(first); use Perl6::Say; my $arr = [ { id => 1, name => 'aaa' }, { id => 2, name => 'bbb' }, ]; my $is_ccc = sub { $_->{name} eq 'ccc' }; lives_ok( sub { map { say $_->name …

Lingua::JA::Regular::Unicode をつかって全角カナを半角カナに変換する

全角と半角が混在していて、アレだったのですが、以下のコードで一発でした。 "、。" 等の文字も変換されて問題ない状況でした。 use Lingua::JA::Regular::Unicode; sub z2h { katakana_z2h($_[0]) } $_->update({ name => z2h($_->name), description => z…

DBIC勉強しつつ、SQL書き方ドリル読んだメモ -2-

p175〜 相関副問い合わせ。 SELECT p.ProductName, s1.Quantity, s1.saledate FROM Sales AS s1 JOIN Products AS p ON p.ProductID = s1.ProductID WHERE s1.Quantity > ( SELECT AVG(s2.Quantity) FROM Sales AS s2 WHERE s2.ProductID = s1.ProductID ) ;…

DBIC勉強しつつ、SQL書き方ドリル読んだメモ

DBは SQL書き方ドリル のサンプルです。 そこから DBIx::Class::Schema::Loader をつかって schema dump して relation とか書きました。 毎日ちょっとずつやっていこうかと思っております。 Util dumpするやつ。 sub p { my ($rs) = @_; my @rows = $rs->is…

perl失敗時のreturn

use strict; use warnings; use utf8; use Test::Base qw(no_plan); sub return_undef { return undef; } my @list_undef = return_undef; ok( ! @list_undef ); # Failed sub just_return { return; } my @list_just_return = just_return; ok( ! @list_jus…

Web::Scraperを使って、PHPの関数一覧をスクレイプする。

php-completion.elを作っていて、PHPの関数一覧が必要になったので、php.netからスクレイプするスクリプトを Web::Scraper を使って書いた。xpathに疎い自分ですが、cssのセレクターで指定できたので無問題でした。素晴らしすぎる。 use strict; use warning…

perl-completion.elに perldoc -m で開く動作を実装

perl-completion.elに perldoc -m で開く動作を実装しました。 モジュールとかメソッドとか選択中に M(shift+m)でチラ見してenterで開くみたいな使い方をします。 EmacsでPerl開発する上で必須な設定 #3 - perldoc-m - Kentaro Kuribayashi's blog でやって…

perl-completion.el バージョン0.3をcodereposにコミットしました。

ダウンロード 以下からダウンロードできます。 browser: http://coderepos.org/share/browser/lang/elisp/perl-completion/trunk/perl-completion.el svn: svn co http://svn.coderepos.org/share/lang/elisp/perl-completion/trunk/ perl-completion 変更点…

perl-completion.el更新 いくつかのコマンドを追加しました

http://svn.coderepos.org/share/lang/elisp/perl-completion/trunk/perl-completion.el ドキュメント引くためのコマンドとモジュールやバッファ内でuseしているモジュールのメソッドなどのキャッシュをクリアするコマンドを追加しました。補完系のコマンド…

cperl-modeにanythingを使った補完機能を追加するperl-completion.elをcodereposにコミットしました

これはなに? cperl-mode向けのマイナーモードです。 useしているメソッド、インストールされているモジュール、組み込み変数,関数、他のperlバッファの関数,変数、バッファのdabbrev候補などを補完したりperldocを引いたりする動作をanythingのUIで実行する…