---
name: "File::Compare"
section: "3perl"
platform: "linux"
package: "perl"
version: "5.44.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/File::Compare/3perl"
---

# File::Compare(3perl)

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.
