最近よく使っているCPAN Module
概要
nyarla.icon がPerlであれこれを書く際に使っているCPAN Moduleの一覧です
一覧
並列処理
forkを使って並列に処理をブン回すモジュール
処理数が多く、個々のタスクが重く、かつ羃等を満す場合に使うと効率が上がる
ただしコア数が少ないなど、金の弾丸が無い環境では実感を得られにくい場合が考えられる nyarla.icon は Ryzen 9 3950 の CPU をフル回転させる時に使っている
構造化データ
csv ファイルをパースしたりする際の鉄板
nyarla.icon は主に自作 StaticSiteGen でデータテーブルを読み込む際に使っている
csv のパーザは自作せずにこれを使いましょう
昔からあるため非常に安定している
URI
URI が実は遅い、と何かで知った際に使い出したモジュール XSを使って実装されており、実際早い
ただ URI とは API が若干違っているので Drop-in Replacement が出来る訳ではない
メンテナは dankogai さんがやっている
URI::Escape は URI の一部だが、URI::Escape::XS は URIのescape/unescapeに特化している
そして URI::Escape と drop-in replacement が出来る。よい
HTML / Markdown
今年(2024年)に入ってから生まれたPerlにおけるMarkdown converterの新星
かなりしっかりと作られていてGFMの拡張とかも普通に使える 但しGFMのすべてに対応している訳ではない
nyarla.icon はブログで使っている Markdown parser をこれに入れ替えました
DOMと同名のメソッドが実装されており、DOMと同じような感覚でPerlのコードが書ける
もちろん一部のメソッドには便利なエイリアスがある
nyarla.icon は主に自作 StaticSiteGen で下記のようなケースで活用している
レンダリングしたHTML構造のテスト
MarkdownからレンダリングしたHTML構造を置換して新しい要素と置き換える
例えば:
HTMLの見出し要素の段階をずらす
h1 → h2とか h2 → h3 とか
特定の構造を持つHTML要素からWebカードなどを作る
これはリンクカードとかアフィリエイトの商品貼り付けなどで活用している
nyarla.icon が作った手前味噌なモジュール
nyarla.icon がこれを作った理由は、
HTMLなんて手書きしたくないでござる!!1
と言った辺り
perl で hyperscript っぽく html を生成できる
HTMLを生で書かないのでタグの閉じ忘れや構文の崩壊を防ぐことが出来る
nyarla.icon ただし他のテンプレートエンジンと比べて速度の違いがあるかどうかは調べてない
テスト
nyarla.icon が新規にテストを書く場合、これを常に使っている
ただしすべての機能を使いこなしている訳ではない
それ以前は別のパッケージに含まれていた