MVCその1.1
早速作っていこうと思ったけれど、何だか全く知らないモジュールが使われていたので、その辺だけさらっと調べてメモ。
というか自分Perl界どんだけ分かってへんのやろ…。
Class::Accessor::Lvalue::Fast
Class::Accessor::Fastの左辺値代入可能版みたいな。
use base 'Class::Accessor::Lvalue::Fast'; __PACKAGE__->mk_accessors(qw/id name/); sub set_name { my ($self, $name) = @_; $self->name = $name; }
HTTP::Response::Encoding
LWP::UserAgentと合わせてuseしておくと、get()の返り値のHTTP::Responseで、decode_content()やencodingなんかが使えるようになる。
Encode.pmで自分でやる必要がない。
use LWP::UserAgent; use HTTP::Response::Encoding; my $res = LWP::UserAgent->new->get($uri); my $decode_content = $res->decode_content; say $res->encoding;
Params::Validate
その名の通り、パラメータをバリデートする。Perlは何でも引数にとれるからなあ。
use Params::Validate qw/:all/; sub kicchiri { my ($sclr_ref, $arry_ref) = validate_pos(@_, { type => SCALARREF }, { type => ARRAYREF } ); CODE.. .. .. } my $scalar = 21; my @array = 1 .. 100; kicchiri(\$scalar, \@array);