-#!/usr/bin/perl -w
-use File::Basename qw/fileparse/;
-use File::Slurp qw/read_file/;
-use Mafia;
+#!/usr/bin/perl
+use 5.010001;
+use strict;
+use warnings;
+
+use File::Spec::Functions qw/rel2abs/;
+use IO::Handle;
my @examples;
-BEGIN { @examples = map { s/\.pl//r } glob 't/examples/*.pl' };
-use Test::More tests => scalar @examples;
+BEGIN { @examples = glob 't/examples/*.pl' };
+use Test::More tests => 1 + @examples;
+BEGIN { use_ok('Mafia') }
for my $example (@examples) {
my $out;
open STDOUT, '>', \$out;
clean;
- my $ok = read_file "$example.out";
- eval scalar read_file "$example.pl";
- is $out, $ok, scalar fileparse $example
+ do rel2abs $example;
+ $example =~ s/\.pl$//;
+ my $ok = join '', IO::File->new("$example.out", '<')->getlines;
+ is $out, $ok, substr $example, length 't/examples/'
}