Scroll to navigation

File::Compare(3perl) Perl Programmers Reference Guide File::Compare(3perl)


File::Compare - Compare files or filehandles


        use File::Compare;
        if (compare("file1","file2") == 0) {
            print "They're equal\n";


The File::Compare::compare function compares the contents of two sources, each of which can be a file or a file handle. It is exported from File::Compare by default.

File::Compare::cmp is a synonym for File::Compare::compare. It is exported from File::Compare only by request.

File::Compare::compare_text does a line by line comparison of the two files. It stops as soon as a difference is detected. compare_text() accepts an optional third argument: This must be a CODE reference to a line comparison function, which returns 0 when both lines are considered equal. For example:

    compare_text($file1, $file2)

is basically equivalent to

    compare_text($file1, $file2, sub {$_[0] ne $_[1]} )


File::Compare::compare and its sibling functions return 0 if the files are equal, 1 if the files are unequal, or -1 if an error was encountered.


File::Compare was written by Nick Ing-Simmons. Its original documentation was written by Chip Salzenberg.

2023-01-08 perl v5.36.0