Perl の API を扱うときに便利そうな場所一覧
随時更新予定です。
Perl-guts
一番最初に読むべきドキュメント。pod に書かれていて色んなところで読むことができるが、個人的に GitHub 上で読むのが好き
Compiled code
Perl のコンパイルについての記述がある。もし使ってる Perl が -DDEBUGGING
というオプションを有効にしてコンパイルされているものならば、次のように実行することで構文木を見ることができる。
perl -Dx hoge.pl
また perl -D
で利用可能なフラグを確認することが可能。
Backwards compatibility
例えば既存の API について知りたいとき下記のように実行するとさまざまなAPI呼び出しの互換性情報を取得することもできることが分かる。
$ perl ppport.h --api-info=sv_magicext
Dynamic Scope and the Context Stack
Perl のスコープとスタックの関係性に関する内容。
ちなみにスタックの情報を格納してる構造体に関するコードはここ
https://github.com/Perl/perl5/blob/7896dde7482a2851e73f0ac2c32d1c71f6e97dca/cop.h#L990-L1026
XS-APItest
shibuya.pm テクニカルトーク #18 に参加してきました
参加しました。
ついでに XS 入門した時を振り替えつつ LT をしました。
実は Package::Prototype の中身について LT をしようと思ってましたが、会場の雰囲気を見てこのスライドじゃないなーと思い急遽作り変えたのです。一応貼っておきます。
続きを読むHokkaido.pm #14 に参加してきました。
Go で sqlx 拡張のトランザクションマネージャを書いた
sqlx-transactionmanager
これは Perl でいう @nekokak さん作の DBIx-TransactionManager をベースに作ったもの。今担当している会社のプロジェクト内で github.com/jmoiron/sqlx を使っており、それの transaction manager があるといいよねーとなったので作成した。
続きを読む