use strict;
use warnings;
-use POSIX qw/SIGINT SIGTERM SIGKILL SIGHUP EXIT_FAILURE/;
+use POSIX qw<SIGINT SIGTERM SIGKILL SIGHUP EXIT_FAILURE>;
-use lib qw{blib/lib t/lib};
+use lib qw<blib/lib t/lib>;
-use IPC::MorseSignals::TestSuite qw/init bench cleanup/;
+use IPC::MorseSignals::TestSuite qw<init bench cleanup>;
-my $diag = sub { print STDERR "@_\n" };
+sub diag { print STDERR "@_\n" };
+*IPC::MorseSignals::TestSuite::diag = *main::diag;
my @res;
init 100;
-bench 4, 1, $diag, \@res;
-bench 4, 4, $diag, \@res;
-bench 4, 16, $diag, \@res;
-bench 4, 64, $diag, \@res;
-bench 4, 256, $diag, \@res;
-bench 16, 1, $diag, \@res;
-bench 16, 4, $diag, \@res;
-bench 16, 16, $diag, \@res;
-bench 16, 64, $diag, \@res;
-bench 64, 1, $diag, \@res;
-bench 64, 4, $diag, \@res;
-bench 64, 16, $diag, \@res;
-bench 256, 1, $diag, \@res;
-bench 256, 4, $diag, \@res;
-bench 1024, 1, $diag, \@res;
+bench 4, 1, \@res;
+bench 4, 4, \@res;
+bench 4, 16, \@res;
+bench 4, 64, \@res;
+bench 4, 256, \@res;
+bench 16, 1, \@res;
+bench 16, 4, \@res;
+bench 16, 16, \@res;
+bench 16, 64, \@res;
+bench 64, 1, \@res;
+bench 64, 4, \@res;
+bench 64, 16, \@res;
+bench 256, 1, \@res;
+bench 256, 4, \@res;
+bench 1024, 1, \@res;
cleanup;
-print STDERR "=== Summary ===\n";
-print STDERR "$_\n" for @res;
+diag "\n=== Summary ===";
+diag $_ for @res;