Closed12

[Scrap] Perl, Sledge のコードリーディングメモ

へぶんへぶん

仕事で Perl で記述されたサーバーサイドのコードを読む必要があり、メモ書きを残しておく。
Sledge という livedoor 社が開発した WEB フレームワークを使っているっぽい。(ググったら Rebuild の miyagawa さんに辿り着いた)

Perl の公式ページ
livedoor/Sledge
Bundle::Sledge - Bundle to install all Sledge related modules - metacpan.org

へぶんへぶん

Sledge

以下の Think IT の WEB フレームワークを使用する開発についての記事で、Sledge が題材として取り上げられている。素直に実装されていたら参考にできるかも。

https://thinkit.co.jp/free/tech/9/1/1.html

へぶんへぶん

Perl の文法

The Perl Playground

Perl の WEB ベースの Playground があるので、文法で気になったところをサクッと試したい時に使える。
https://perlbanjo.com/

@_

@_ がしょっちゅう出てくるけど、サブルーチン(関数)の引数が格納されてるみたい。

以下は a, b を取り出す処理。

sub run {
    my ( $a, $b ) = @_;
}

->=>

ぱっと見分かりにくいけど、-> がサブルーチン呼び出し。=> がハッシュ。

へぶんへぶん

stash

Perl のコードを読んでいてしょっちゅうstash という単語が出てくる。sub_module を跨いでアクセスできる Key-Value マップっぽい。(スコープがどうなってるのか、とかは気になるけど、詳しく調べる気は今のところない)

# stash の some_key に 'value' と保存する処理
$self->stash->{some_key}  = 'value'

https://metacpan.org/pod/Package::Stash

へぶんへぶん

Perl の try / catch

# try/catch でいう try
eval {
   # 何かの処理
}
# error が取り出せる
my $error = $@;
このスクラップは2022/03/14にクローズされました