地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

Perl

【Perl】CによるPerl拡張 XSに入門する

概要 休み明け一発目から古のperlを使った謎モジュールのビルドエラーの確認作業になった。cもmakefileもそれなりに読めるし余裕だろって思ってたらそんなことはなかったのでメモ XSでハマったというよりはそもそもXSが何なのかをそんなに理解してなかったの…

【Perl】xsファイル入門

概要 休み明け一発目から古のperlを使った謎モジュールのビルドエラーの確認作業になった。cもmakefileもそれなりに読めるし余裕だろって思ってたらそんなことはなかったのでメモ XSでハマったというよりはそもそもXSが何なのかをそんなに理解してなかったの…

【Perl】配列の重複要素を削除する

CIで特定条件のファイルを抽出してテストを行うみたいな実装をしたかった際に配列にファイルパスを突っ込んでたら重複した要素を持つ配列になってしまった。 my @array = ( 'perl', 'php', 'java', 'java', 'php' ); my %count; @array = grep { !$count{$_}…

【Linux】JVM系言語以外でも暖気運転は効果があるのかの考察

記事概要 JVM言語で話題の暖気運転についてJVM系言語(JIT)以外でも暖気運転は効果があるのかを考察した記事です。何かしらのベンチマークを取ったとかではないのでご注意ください。 JVMとの比較にはPythonとかPerlとかLL系言語かつpreforkで動くウェブアプリ…

【Perl】lintツールperlcriticを使う

metacpan.org perlでの静的解析ツールって何があるんだろうとか思って調べてたら出てきたので使ってみた。perl何も分からんを感じさせてくれるツールと感じました。 導入 cpanmで入ります。 $ cpanm Perl::Critic; ちなみにめちゃめちゃ多機能です。pythonで…

【Perl】AnyEvent::HTTPでhttpリクエストを投げてみるサンプル

metacpan.org perlで何も考えずにLWPとかでhttpリクエストをたくさん投げると取得すべきURLリストの中にレスポンスの遅いサイトが存在した場合そのリクエストの待ちが発生し後続のリクエストも遅くなります。 httpを簡単にノンブロッキングで実行してくれる…

【Perl】 配列の和・積・差

和集合 A∪B my @array_a = qw/1 2 3 4 5/; my @array_b = qw/3 4 5 6 7/; my %cnt = (); my @array = grep { ++$cnt{$_} == 1 } (@array_a, @array_b); 積集合 A∩B my @array_a = qw/1 2 3 4 5/; my @array_b = qw/3 4 5 6 7/; my %cnt = (); my @array = gr…