```{index} single: File::Compare ``` # File::Compare Compare files or filehandles ## SYNOPSIS ```perl use File::Compare; if (compare("file1", "file2") == 0) { print "They're equal\n"; } ``` ## DESCRIPTION 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: ```perl compare_text($file1, $file2) ``` is basically equivalent to ```perl compare_text($file1, $file2, sub {$_[0] ne $_[1]} ) ``` ## RETURN `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. ## AUTHOR `File::Compare` was written by Nick Ing-Simmons. Its original documentation was written by Chip Salzenberg.