Agent skill · software engineering · affaan-m
perl-patterns
堅牢でメンテナブルなPerlアプリケーションを構築するためのModern Perl 5.36+のイディオム、ベストプラクティス、規約。
Why this skill is useful
Provides domain-specific idioms and best practices for Modern Perl 5.36+ that the AI wouldn't reliably generate on its own.
What it needs
About 5k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
モダンPerl開発パターン 堅牢でメンテナブルなアプリケーションを構築するためのイディオマティックなPerl 5.36+パターンとベストプラクティス。 アクティベートするタイミング 新しいPerlコードまたはモジュールを書くとき イディオム準拠のためにPerlコードをレビューするとき レガシーPerlをモダンな標準にリファクタリングするとき PerlモジュールのアーキテクチャをDesignするとき 5.36以前のコードをモダンなPerlに移行するとき 仕組み これらのパターンをModern Perl 5.36+のデフォルトへのバイアスとして適用する: シグネチャ、明示的なモジュール、集中的なエラー処理、テスト可能な境界。以下の例は出発点としてコピーし、目の前の実際のアプリ、依存スタック、デプロイモデルに合わせて締め付けることを意図している。 コア原則 1. v5.36プラグマの使用 単一のuse v5.36が古い定型文を置き換え、strict、warnings、サブルーチンシグネチャを有効化する。 2. サブルーチンシグネチャ 明確さと自動アリティチェックのためにシグネチャを使用する。 3. コンテキスト感度 スカラーvsリストコンテキストを理解する — Perlのコアコンセプト。 4. 後置逆参照 ネストされた構造で読みやすさのために後置逆参照構文を使用する。 5. isa演算子(5.32+) 中置型チェック — blessed($o) && $o->isa('X')を置き換える。 エラー処理 eval/dieパターン Try::Tiny(信頼性の高い例外処理) ネイティブtry/catch(5.40+) MooによるモダンOO 軽量でモダンなOOにはMooを優先する。メタプロトコルが必要な場合のみMooseを使用する。 Mooロール ネイティブclassキーワード(5.38+、Corinna) 正規表現 名前付きキャプチャと/xフラグ プリコンパイルパターン データ構造 リファレンスと安全な深いアクセス ファイルI/O 3引数open ファイル操作のPath::Tiny モジュール構成 標準プロジェクトレイアウト エクスポーターパターン ツーリング perltidy設定(.perltidyrc) perlcritic設定(.perlcriticrc) 依存関係管理(cpanfile + carton) クイックリファレンス: モダンPerlイディオム レガシーパターン モダンな置き換え --- --- use strict; use warnings; use v5.36; my ($x, $y) = @; sub foo($x, $y) { ... } @{ $ref } $ref->@ %{ $ref } $ref->% open FH, "< $file" open my $fh, '<:encoding(UTF-8)', $file blessed hashref 型付きのMooクラス $1, $2, $3 $+{name}(名前付きキャプチャ) eval { }; if ($@) Try::Tinyまたはネイティブtry/catch(5.40+) BEGIN { require Exporter; } use Exporter 'import'; 手動ファイル操作 Path::Tiny blessed($o) && $o->isa('X') $o isa 'X'(5.32+) builtin::true / false use builtin 'true', 'false';(5.36+、実験的) アンチパターン 忘れないこと: モダンなPerlはクリーン、読みやすく、安全である。use v5.36に定型文を処理させ、オブジェクトにはMooを使用し、手作りのソリューションよりCPANの実績あるモジュールを優先する。
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/perl-patterns--208b7c