Perl

DynamoDBにアクセスして書き込み等を行う

Perlからアクセスするのは面倒この上ない Perl5系でDynamoDBを良い感じに扱えるツールが無かったので、低レベルAPIを使ったアクセスを行った。 AWSのドキュメント API仕様 DynamoDB Low-Level API - Amazon DynamoDB Actions - Amazon DynamoDB エンドポイン…

【IntelliJ IDEA】ファイル保存時にPerlTidyが走るようにする

前提 当初はIntelliJのプラグイン「File Watchers」で以下のような設定をしていた。 ところが以下のような状況になったので、マクロを活用することにした。 意図しないコードフォーマットが行われる(for文の中のコメント行のインデントが消える等) 色々オプ…

TTerseでのリストとハッシュの扱い

環境 Perlのフレームワーク「Amon2」標準のテンプレートエンジン「Xslate」のTTerseシンタックス版でのお話 リスト(配列) # サーバ側 my $list_hoge = ['mon', 'tue']; # テンプレート側 [% list_hoge.0 %] # mon が表示される ハッシュ # サーバ側 my $hash…

リスト内に任意の値が含まれているかどうかを確認する

anyを使う List::MoreUtils - Provide the stuff missing in List::Util - metacpan.org サンプル use List::MoreUtils qw/any/; my @list_target = ('my', 'chuno', 'blog'); if (any {$_ eq 'chuno'} @list_target) { # 何らかの処理を書く }

mapを使って配列をハッシュに変換する

# 以下のようなハッシュの配列(@hoge_list)があるとする [ { 'hoge_key' => 'hash1', 'hoge_id' => 2, 'hoge_name' => "hogehoge", }, { 'hoge_key' => 'hash2', 'hoge_id' => 3, 'hoge_name' => "gehogeho", }, ]; # mapを使ってハッシュのハッシュに変換 m…