無名サブルーチン
昨日初めて知ったのだけど、
これを使えばRubyのブロックっぽいことができるのかな?と思って実験してみた。
#!/usr/bin/perl auto_open_close("hogehoge", sub { my $fh = shift; my @lines = <$fh>; print @lines }); sub auto_open_close() { my $fpath = shift; my $proc = shift; open(FH, $fpath) or die $!; $proc->(FH); close(FH); }
上手くいったみたいだけど、"sub"とか"my $fh = shift"がちょっと邪魔だなぁ。
上達すればすっきり書けるのかしら。