perl

forとforeachは何が同じなのか(未解決→解決)

手癖のようなもので、forではなくforeachを使うほうが多い。 同じものと説明されているけど、どのように同じなのか探してみることにした。 追記 forとforeachは何が同じなのか(未解決) - yujioramaの日記<a href="https://github.com/Perl/perl5/blob/v5.37.7/toke.c#L8010-L8012" target="_blank" rel="noopener nofollow">https://github.com/Perl/perl5/blob/v5.37.7/toke.c#</a>…

CIの時間をボトムアップに短縮する方策

背景 新機能の追加が継続している 既存機能の改修、改善が継続している 時とともにCIの実行時間が増加し続けている 自動テストはときどき失敗する(flaky) CIの成功が、コードレビューを始めるきっかけになっている(CIが成功するまでコードレビューが始まらな…

begin/endと名付けられたtypeglobを見た

こういう書き方ができるのを知らなかった。 DBIx/QueryLog.pm#L82-L85 *enable = *begin = \&import; *disable = *end = \&unimport; コードリファレンスをbegin enable end disableと名付けたtypeglobへ保存している レキシカルスコープでパッケージを有効…

mapとforeachのベンチマーク

趣旨 mapとforeachのどちらが効率的かは昔から話題になっている 可読性を考えたらforeach一択なんだけど、mapのほうが効率的な場合があるかもしれない 変数を明示的に作る場合と、暗黙的に作る場合で何か違うかもしれない 確認してみよう 参考リンク 2019年 …

Perl Carton Buildpack のプロトタイプで遊んでた

背景 Heroku や Cloud Foundry などで利用されている Cloud Native Buildpacks という技術がある いわゆる S2C (Source Code to Container Image) Dockerfile の関門をスキップできる .NET Core/Go/Java/Node.js/Python/PHP/Ruby には対応している Getting S…

Smart::Args::TypeTiny で optional にした引数は undef を素通しする

optional な引数に undef を渡してもチェックエラーにはしない設計になっていた。引数のキーが無ければ optional でないことをチェックしている。 キーがあれば値(の型)をチェックするものだと思いこんでいたので、やっぱりソースコードレビューは難しいな…

#yapcasia YAPC::ASIA 2011 に参加して楽しんで、その後どうする?

YAPC::Asia Tokyo 2011 前夜祭(未参加、ログ無し) YAPC::Asia 2011 Tokyo 1日目まとめ - Togetter YAPC::Asia 2011 Tokyo 2日目まとめ #yapcasia - Togetter 去年の体験に味をしめて、普段の Perl の使い方があんまり進歩していないのですが、 今年も YAPC::…

YAML::Tiny test failed on Mac OS X 10.6.6

なんだろう... 結局 perlbrew から入れ直したら解消されたので、なんかバージョン不整合だったっぽい。 % uname -a Darwin mac-mini.local 10.6.0 Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386 i386 % p…

perl binding for SZaru

Google Code Archive - Long-term storage for Google Code Project Hosting. から便利機能を抽出したというユーティリティ的な Googleの分散データ処理言語Sawzallの統計ライブラリをC++, Ruby, Pythonから利用するライブラリSZaruを公開しました - llamera…

テキストファイルを grep するだけだと物足りなかったので

ある文字列が出てくるところから別のある文字列が出てくるところまでを見たい、そんなことがよくあります。 grep と tail と head を駆使すればできるんだけど、なんだか perl で書いてみました。 実戦投入してないけど、多分動くでしょう。

YAPC::Asia Tokyo 2010 に 1 日だけ参加したメモ

YAPC::Asia Tokyo 2010いくつかのセッションを拝聴して、途中で疲れてしまったので早退。 YAPC への参加は初めてだったけど、他のイベントとはちょっと違った雰囲気を感じました。以下、参加したセッションのメモ。 How Xslate Works 最速のテンプレートエン…

snoop ログを解析して SMPP のパラメータをダンプする

snoop のログが RFC になっていることは初めて知りました。 RFC 1761 - Snoop Version 2 Packet Capture File Format (RFC1761)そんなログを解析する Net::SnoopLog - Read snoop network packet logs, from RFC1761 snoop ver 2. Perl implementation (not …

Module::AutoInstall で依存関係の対話を拒否(デフォルトでゴー)する

$ PERL_AUTOINSTALL="--default" perl Makefile.PL たぶん pod に書いてあるんだろうけど、探し方間違えてソース読んで理解した。

どこで見たか忘れてしまったけど cpan で設定しておくこと

o conf make_install_make_command "sudo /usr/bin/make" 勝手に sudo してくれます。

Guidelines for the Generation of Message IDs and Similar Unique Identifiers

メールに振られる Message-ID のガイドライン。どれだけ普及してるかは調べなかった。 Guidelines for the Generation of Message IDs and Similar Unique Identifiers素振りのつもりで実装してみたけど、途中で挫折。 理由はなんかどう動くかよく分かんなく…

id:TAKESAKO に挑戦してみる

Perlで記号プログラミング - TAKESAKOのはてな出張所脳内パーサはあまり役に立たなかったので、perl インタプリタ様の力を借りてみる。

id:TAKESAKO に挑戦してみる

Perlで記号プログラミング - TAKESAKOのはてな出張所脳内パーサはあまり役に立たなかったので、perl インタプリタ様の力を借りてみる。 - $ perl -d a.pl Loading DB routines from perl5db.pl version 1.31 Editor support available.Enter h or `h h' for …

XML::Feed で日本語が数値参照になるときはこれ

わりと常識だったらしい。 my $feed = new XML::Feed('RSS', 'output_encoding' => 0);

Plagger の install ではまる (未解決)

すっかり忘れてるのでメモ。 環境は Ubuntu-8.10 on Thinkdpad X32 です。 とりあえず cpan から実行する。 オプションは全部デフォルトで。 $ cpan cpan[1]> test Plagger ....{なんかいっぱい出る} Test Summary Report - t/00_compile (Wstat: 256 Tests:…

MapReduce

http://d.hatena.ne.jp/naoya/20080511/1210506301MapReduce 解説 + Perl 実装例. クライアント側の簡単さに対して,サーバ側の複雑さが気になる.以下,関連リンク.必読.atdym http://d.hatena.ne.jp/naoya/20080331/1206921241 http://d.hatena.ne.jp/n…