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

趣味と仕事と愚痴。

長々書いちゃったので、簡単にまとめると、こんな感じ。まとめ:趣味を仕事にしたら冷めることがある。

Encode::find_encodingで得られるオブジェクトはスレッドセーフ?

Encodeモジュールはスレッドセーフではない、ってどこかに書いてあって、 find_encodingで得られるオブジェクトを使いまわしてる身としては気になったので。 (スレッド間で使いまわすことはないんだけど。) 適当にスレッド作ってループ回してみたけども、 ス…

Mojoliciousでアップロードファイルを受け取った時にMojo::Asset::MemoryかMojo::Asset::Fileか判別する

$file->asset->is_file を使うとファイルか否かの判別ができます。 my $file = $self->req->upload('file'); if($file->asset->is_file){ print("filepath: ". $file->asset->path); # 一時ファイルパスが表示される }else{ print("content: ". $file->asset…

ファイル演算子とopenとベンチマーク

ファイル存在の確認はファイル演算子である、-fを使うと思うのだけど、 openの戻り値を見ても出来るから、もしかしたら・・・と思ってベンチマークとってみた。 use strict; use Benchmark qw(cmpthese); my $filepath = "bench.pl"; cmpthese(10_000, { 'op…

シェルスクリプトで文字列で与えられた相対パスから、ディレクトリの絶対パスを取得する

cdしてpwdする echo $(cd $(dirname '/usr/bin/perl'); pwd) # /usr/bin cd /usr/bin echo $(cd $(dirname 'perl'); pwd) # /usr/bin echo $(cd $(dirname '../bin/perl'); pwd) # /usr/bin もちろんcdに失敗したらカレントディレクトリの情報返しちゃうので…

multipart/form-dataで送信する際、任意のfilename値を指定する

LWPでできるかなって思ってたら、すぐできなかったのでSocket叩いて書いたけど、 調べたら普通にLWPで出来た。ですよねー。 use LWP::UserAgent; use HTTP::Request::Common; my $ua = new LWP::UserAgent; my $res=$ua->request( POST('http://192.168.11.2…