#!/usr/bin/perl use strict; use warnings; use Test::Simple tests => 1; sub mycheck { open( FH, '>', '/tmp/x/logfile' ) or return sub { warn "Cannot open file [$!]"; return 1; }; foreach my $line () { print FH $line or return sub { warn "Cannot write to file [$!]"; return 2; }; } close FH; return 0 } ok( mycheck() == 0, "mycheck test" ); __DATA__ dr_test_class ;; empty ;; empty ;; empty ;; empty dr_test_kept ;; handle_dr_test ;; /etc/dr_test ;; ;; kept ;; mojolicious $ ./foo.pl 1..1 not ok 1 - mycheck test # Failed test 'mycheck test' # at ./foo.pl line 26. # Looks like you failed 1 test of 1.