tokuhirom's Blog

given-when における method call について

use strict;
use 5.10.0;

{
    package xai;
    use constant {cron => 1 };
}

given (2) {
    when (xai->cron) {
        print "FAIL\n";
    }
}

これは FAIL と出力する。when の中におけるメソッドコールは、その返り値の boolean 値そのものが評価値として利用され、

when ($_ ~~ xai->cron) { }

相当にはならないのだ。

ちょっとはまるかも。