When a tested file contains Latin-1 chars, Test::EOL issues warnings and fails if trailing_whitespace option is turned on. diff -up Test-EOL-0.9/lib/Test/EOL.pm Test-EOL-0.9/lib/Test/EOL.pm --- Test-EOL-0.9/lib/Test/EOL.pm 2010-06-16 15:05:07.000000000 +0100 +++ Test-EOL-0.9/lib/Test/EOL.pm 2010-10-18 09:58:18.077182938 +0100 @@ -104,7 +104,7 @@ sub eol_unix_ok { open my $fh, $file or do { $Test->ok(0, $test_txt); $Test->diag("Could not open $file: $!"); return; }; # Windows-- , default is :crlf, which hides \r\n -_- - binmode( $fh, ':raw:utf8' ); + binmode( $fh, ':raw' ); my $line = 0; my @fails; while (<$fh>) { diff -up /dev/null Test-EOL-0.9/t/13-latin1.t --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ Test-EOL-0.9/t/13-latin1.t 2010-10-18 09:57:00.019168309 +0100 @@ -0,0 +1,21 @@ +use strict; + +use Test::More tests => 1; + +use Test::EOL; + +use File::Temp 'tempfile'; + +my $file5 = make_file5(); +eol_unix_ok( $file5, { trailing_whitespace => 1 }); + +unlink $file5; + +sub make_file5 { + my ($fh, $filename) = tempfile(); + print $fh <<'DUMMY'; +#!/usr/bin/perl +print "Grüße!\n"; +DUMMY + return $filename; +}