File::Compare(3p)

File::Compare3p

Compare files or filehandles

Usage

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

Overview

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]} )

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.

Releases

32 releases since OpenBSD 5.0; the text changed 20 times.

  1. 5.0–5.3
  2. 5.4–5.5
  3. 5.6
  4. 5.7
  5. 5.8–5.9
  6. 6.0
  7. 6.1
  8. 6.2
  9. 6.3–6.4
  10. 6.5
  11. 6.6
  12. 6.7
  13. 6.8
  14. 6.9–7.2
  15. 7.3
  16. 7.4
  17. 7.5
  18. 7.6
  19. 7.7–7.8
  20. 7.9
  21. 8.0

Author

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

From man 8.0-current-20261101 in OpenBSD 8.0-current (2026-11-01). Parsed by carta from the page's man source.