読者です 読者をやめる 読者になる 読者になる

角待ちは対空

発生19のガードされて+1を忘れるな

2017-03-18の日記

排水管清掃

3連休の初日に必ず家にいてくださいっていう通告があって正気じゃないと思った。

BBCF

www.youtube.com

久しぶりにBBCFやった。

  • 異常に面白い気がする
  • 声うるさい
  • ABC波動くらいで遊んだ気になれて Es は最高
  • 6B が前に進まないか 5Bが斜め上に強ければ強かったと思う

このゲーム、もう終わったと考えると寂しくなる。

標準出力(標準エラー出力)の内容を一時的に Perl 変数に書き込みたい

Perl

Devel::Peek::Dump なんかは結果が標準エラー出力に表示されるだけなのでコード内で結果を使いたいと思うと標準エラー出力の出力先を変数へ書き換え、その後復元させてやる必要がある。

use strict;
use warnings;
use utf8;

my $stderr;

open my $temp, '>&', STDERR;
close STDERR;
open STDERR, '>', \$stderr;

warn "hoge";

close STDERR;
open STDERR, '>&', $temp;
close $temp;


print $stderr; # ”hoge”  が出力される

こんな感じで取りあえずうまくいくんだけど、もっといい方法はないのだろうか。

  • tie を使うのは大げさな気がする
    • 結び付けられるクラスを用意しなくてはならない?
    • Tie::STDOUT 系のやつ使えば良い?
    • あまり詳しくないので勘違いしているかも

open の第二引数

自分用メモ。

  • > は書き込み
  • < は読み込み
  • &dup(2) して open される