Google Analytics

2010-04-19

[Perl] File::Path::mkpath()の恐るべき真実

File::Pathのmkpathで、複数のディレクトリパスを一気に作ってもらおうとすると困りそうなことについてです。make_pathとmkpathはディレクトリパスが複数の場合の扱いに決定的な違いがあります。

make_path($dir1, $dir2, $dir3);      # OK
make_path($dir1, $dir2, $dir3, {});  # OK
mkpath($dir1, $dir2, $dir3);         # NG 【なんと!】
mkpath($dir1, $dir2, $dir3, {});     # OK
mkpath([$dir1, $dir2, $dir3]);       # OK

そもそも、複数のパスを指定できる必要があるのかと思う。

mkpath($_) for ($dir1, $dir2, $dir3);

2010-04-03

[Perl] [CPAN] 球面三角法

地球を球体と仮定した時の、二地点間の方位角や距離を求める場合などに役立つかもしれない、球面三角法についての関数は Math::Trig のGREAT CIRCLE DISTANCES AND DIRECTIONSの辺りにあります。