perl

読み込んだファイルの内容を一気に取得

my $text = do { local $/; <$fh> }; ってすればいい。 while (<$fh>) {...} とかせんでもいいのね。昔Perl書いてころは$/の方法でやってた気もするけどさっぱり忘れてる。

標準出力をキャプチャする

printで出力された内容をテストしたくて調べてたけどキーワードがよくわからんくて調べるのに時間かかった。IO::Captureでやりたいことができるっぽい。 use strict; use warnings; use IO::Capture::Stdout; my $capture = IO::Capture::Stdout->new; $capt…

perlで標準入力のコードを実行するときに引数を取る

$ echo 'print $ARGV[0]' | perl hoge Can't open perl script "hoge": No such file or directoryって感じでエラーになるので $ echo 'print $ARGV[0]' | perl - hoge hogeこうするといいらしい。ここに書いてあった。 標準入力から暗黙に渡される。 ファイ…

Email::Senderでメールを送る

nodeでどうしても文字コード周りがうまくいかんので諦めてperlにする。 use strict; use warnings; use utf8; use Email::Sender::Simple qw(sendmail); use Email::Sender::Transport::SMTP; use Email::MIME; use Email::MIME::Creator::ISO_2022_JP; use …