Source: libtest-filename-perl Section: perl Priority: optional Build-Depends: cdbs, devscripts, perl, debhelper, dh-buildinfo, libpath-tiny-perl, libtest-tester-perl Maintainer: Debian Perl Group Uploaders: Jonas Smedegaard Standards-Version: 3.9.5 Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libtest-filename-perl Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libtest-filename-perl.git Homepage: https://metacpan.org/release/Test-Filename Package: libtest-filename-perl Architecture: all Depends: ${cdbs:Depends}, ${misc:Depends}, ${perl:Depends} Description: portable filename comparison Many cross-platform test failures -- particularly on Win32 -- are due to hard-coded file paths being used in comparison tests. . my $file = get_file(); # returns "foo\bar.t"; is( $file, "foo/bar.t" ); # fails on Win32 . Test::Filename provides some handy functions to convert all those path separators automatically so filename tests will just DWIM. . The alternative is to write your own utility subroutine and use it everywhere or just keep on littering your test code with calls to File::Spec -- yuck! . is( $file, File::Spec->canonpath("some/path"), "should pass" ); . Since this module is so simple, you might not think it worth including as a dependency. After all, it's not that hard to always remember to use File::Spec, Path::Tiny or some other file utility, right? But odds are that, at some point, you'll be so busy writing tests that you'll forget and hard-code a path in your haste to show what a clever programmer you are. . So just use this module and stop worrying about it. You'll be happier and so will anyone trying to install your modules on Win32.