---
name: "File::Compare"
section: "3p"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["openbsd"]
url: "https://new.carta.tech/File::Compare"
---

# File::Compare(3p)

Compare files or filehandles

## NAME

File::Compare - Compare files or filehandles

## SYNOPSIS

```
        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:

```
    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.

## AUTHOR

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