Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

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

MVCその1

今日は休日出勤した。それはさておき。 Web+DB PRESS Vol.44にid:naoyaの「すぐわかるMVC」があったので本格的にMVCを覚える。 WEB+DB PRESS Vol.44作者: 鵜飼文敏,ミック,大塚知洋,下岡秀幸,山本陽平,伊藤直也,高井直人,永安悟史,角谷信太郎,高林哲,はまち…

スペースが入ったディレクトリ

スペースが入ったディレクトリをスクリプト内で作成する時は、スペースを「\」でエスケープする必要があるのかなと思ってやってみた。 #!/usr/local/bin/perl # mkdir.pl use strict; use warnings; use feature qw/say/; my $dir_name = "my test"; my $dir…

無名ハッシュコピーではまる

Perlを勉強して1年くらい経ったけど、初めて知ったのでメモ。 無名ハッシュをスカラに入れて、そのスカラをコピーして片方の値を変更すると、もう一方も変わってしまう。 #!/usr/local/bin/perl use strict; use warnings; use 5.010; my $aaa = { a => 1 };…

小文字を大文字にする最速の方法は

なんだろうと思って、いろいろやってみた。 MojoとRubyの勉強そっちのけで遊んでしまった。 方法 uc() \U tr/a-z/A-Z/ 一文字ずつハッシュ コード uc() $text = uc($text); \U $text = "\U$text"; tr/a-z/A-Z/ $text =~ tr/a-z/A-Z/; 一文字ずつハッシュ $_ …

簡単にログを出力する一行

を思いついたのでやってみた。 例えば、変数$msgの中身を/tmp/msg100123.logに保存する。 use Data::Dumper qw(Dumper); # 何か$msgについて処理 open LOG, '>', '/tmp/msg100123.log' and print LOG Dumper($msg) and close LOG; 一般的にはopen()が失敗し…

\@と\()は違うので

気をつけましょうというメモ。 下の二つは同じだと思っていた。 #!/usr/local/bin/perl # ref_test1.pl use strict; use warnings; use 5.010; use Data::Dumper qw(Dumper); { my @arr = (1, 2, 3, 4); my $arr_ref = \@arr; print Dumper($arr_ref); } { m…

真賀田四季台詞2

好きになり、そして諦め、 何も好きにならないようにして、それにも厭きて、 どちらでも良い、何も決めない、何も求めない、 そんな状況にもまた懲りて、最後には好きになり、 けれど、好きだったものは消えている。 愛して、そして破壊して、 何も愛さない…

Parallel::ForkManagerを使ってみた

またまた「モダンPerl入門」より。 まったくもって勉強になる。 「はてなブックマーク - 人気エントリー - テクノロジー」から人気エントリのRSSを取得して、最大5個の子プロセスで、タイトルとプックマーク件数をmemcachedに格納するスクリプト書いた。 #!/…

サブルーチンをサブルーチン内で宣言して

呼び出すとどうなるのか。 急に気になったのでやってみた。 #!/usr/local/bin/perl # nest_sub1.pl use strict; use warnings; use 5.010; sub a_nest(_) { say; sub b_nest(_) { say; } b_nest; } a_nest for 1 .. 5; say '----------------'; b_nest for 6…

Testをはじめてみた4

「モダンPerl入門」を読んで、Testに関して初めて分かったことメモ。 以下、だらだら箇条書き。 Test::More use Test::More tests => 10; は、 use Test::More; plan(tests => 10); と同じ むしろ環境でそのテストファイルを全部スキップなんかの場合には、p…

続・Perl5.10.1入れてみた

前回「Perl5.10.1入れてみた - Perl日記」の続き。 もう一回やる時に困らないように自分用メモの意味合い。 まずは「/usr/local/bin」にPATHを通して新しく入れたPerl5.10.1をデフォルトで使用できるようにする。 bashなのでexport。 $ export PATH=/usr/loc…

Perl5.10.1を局所的なところを局所的に使ってみた

今までPerl5.8.6とか8とかの機能しか使ったことなかったので、5.10.1のインストールを機会に覚えてみる。 一番気になったというか、面白そうだったのが「$_のレキシカル化」と「プロトタイプ文字に_追加」だったので使ってみた。 #!/usr/local/bin/perl # 50…

Perl5.10.1入れてみた

どうもMacBookの方の中身がごちゃごちゃになってきてたので、一度OSを再インストールした。 OSはSnow Leopard。 メインで使ってるiMacの方もどうせだからLeopardからアップデートさせようと思っていたし、その予行みたいな感じにした。 で、Snow Leopardデフ…

undefが入ったときの組み込み関数挙動まとめ2

前回「undefが入ったときの組み込み関数挙動まとめ1 - Perl日記」の続き。 Regular expressions and pattern matching undef =~ m|undef| Use of uninitialized value in pattern match (m//) at ./m.pl line 5. undef =~ s/undef/undef/e Modification of a…

undefが入ったときの組み込み関数挙動まとめ1

int()にundefを入れたら0が返ってきたので、他のundef入れても動きそうな関数にundef入れてみた。 一応、テンプレートとして、 #!/usr/bin/perl use strict; use warnings; my $p = &function(undef); print "$p\n"; にて実験。 選んだ関数は独断と偏見。 Nu…

Mojoことはじめ2

時間がなかったので、Cookieだけ触ってみた。 MVCの作り方がまだわからねー。 参考:「第1回 はじめてのMojo:Mojoを使って自作ウェブアプリをよりポータブルに!|gihyo.jp … 技術評論社」 以下、前回のWeb.pmに追記。 package MyMojo::Web; use strict; us…

瀬在丸紅子台詞

「煩いな!」紅子が助手席から振り向いた。「喧嘩したかったらね、もっと陰湿にやりなさいよ。そんな開けっぴろげで公明正大な喧嘩は鬱陶しいだけ。もっと執拗に計画的に徹底的に、相手に肉体的かつ精神的なダメージを的確に与えることだけに集中する。その…

2010年にやりたいこと

MVCアーキテクチャパターン理解 WAFをちゃんとやってみたい Catalyst Mojo Plackがどんなものか知りたい Web::Scraper使ってみたい Test::Moreでテストを作るようにする これで単体テストってだいたい終わるんじゃない? WAFならテストもできる O/Rマッパ 今…

Mojoことはじめ

Mojoは軽量なのが特徴と聞いて、やってみた。 もしかしたら今後メインに使っていくかもしれない。 では参考サイトから。 サンプルコードによるPerl入門より。いつもお世話になっております。 「Mojo」の検索結果一覧 - サンプルコードによるPerl入門 サンプ…