perl
はてなの id を持ってないからコメントを書くときは capcha の文字列をいちいち入力してたけど間違って空のコメント送ったら何回リロード しても capcha すら表示されなくなったのでここからトラバする |
返信 |
perl |
題名長いな。
というわけで、ツッコミ等があったらよろしく
らしいので http://d.hatena.ne.jp/teramako/20081003/p2 を書き直してみました。
書き直した結果 http://gist.github.com/14726
直したところ
- サブルーチンを呼び出すときは &foo() っていう風にアンパサンド要りません。foo() でおk。
-- 基本的に関数を呼び出すときにカッコは必要だったり別に要らなかったりしますが、「組み込み関数はカッコを使わずに、そうでない関数はカッコをつけて呼び出す」という方向があります。
-- Perl Best Practice に書いてありますた。面白いので立ち読みしてください。
- foreach と for は同じ意味です。for (my $i = 0; $i < @arr; i++) っていう感じだと C 的な for に、for my $el (@arr) っていう感じだと配列に対する for (foreach) になります。
- while (<$fh>) { # $_ を使って書く } より for ($line = <$fh>) { # $line を使って書く } 方がよいと思います(行儀的な意味で)
-- see http://d.hatena.ne.jp/fbis/20071225/1198554886
- 表示するプロセスの属性(でいいのかな)を配列に入れていろんな処理で使い回すようにしました。DRY! DRY!
- 関数の引数はふつう my($foo, $bar) = @_; で受けるか my $foo = shift; my $bar = shift; というふうに受けます。
- ps に渡すオプション微妙に変えてたりしますが気にしないでください。ていうか ps って環境によってオプション違いすぎな気がする。
元のコードでいいと思ったところ
- split の第3引数とかしぶいですね
ツッコミ等があったらよろしくです。