in reply to How do you Test that the right output got printed?

Test::Output can help. For example (untested):

use strict; use warnings; use Test::More tests => 2; use Test::Output; my $status = Status->new(); stdout_is { $status->status('good') } "good status\n"; stdout_is { $status->status('bad') } "bad status\n";