ウェブアプリケーションを書くとき、最近はだいたい Plack::Request なりなんなりを継承して、そのプロジェクト専用のリクエスト/レスポンスオブジェクトを作ることにしている。 特にリクエストオブジェクトは、リクエストのパラメータを適切に変換して返すようなメソッドを生やすことが多い。例えば以下の例: sub number_param { my ($self, $key, $limit) = @_; $limit ||= 'inf'; my $val = $self->param($key) // ""; if ($val =~ /^\d+(.\d+)?$/) { my $ret = $val + 0; if ($ret <= $limit) { $ret; } else { $limit; } } else { undef; } } この number_param() メソッドは、$