---
name: "Text::Patch"
section: "3pm"
platform: "linux"
package: "perl-text-patch"
version: "1.8-16"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Text::Patch"
---

# Text::Patch(3pm)

Patches text with given patch

## NAME

Text::Patch - Patches text with given patch

## SYNOPSIS

```
    use Text::Patch;
    $output = patch( $source, $diff, STYLE => "Unified" );
    use Text::Diff;
    $src  = ...
    $dst  = ...
    $diff = diff( \$src, \$dst, { STYLE => 'Unified' } );
    $out  = patch( $src, $diff, { STYLE => 'Unified' } );
    print "Patch successful" if $out eq $dst;
```

## DESCRIPTION

Text::Patch combines source text with given diff (difference) data. Diff data is produced by Text::Diff module or by the standard diff utility (man diff, see -u option).

- patch( $source, $diff, options... )

  First argument is source (original) text. Second is the diff data. Third argument can be either hash reference with options or all the rest arguments will be considered patch options:

  ```
      $output = patch( $source, $diff, STYLE => "Unified", ... );
      $output = patch( $source, $diff, { STYLE => "Unified", ... } );
  ```

  Options are:

  ```
    STYLE => 'Unified'
  ```

  STYLE can be "Unified", "Context" or "OldStyle".

  The 'Unified' diff format looks like this:

  ```
    @@ -1,7 +1,6 @@
    -The Way that can be told of is not the eternal Way;
    -The name that can be named is not the eternal name.
     The Nameless is the origin of Heaven and Earth;
    -The Named is the mother of all things.
    +The named is the mother of all things.
    +
     Therefore let there always be non-being,
       so we may see their subtlety,
     And let there always be being,
    @@ -9,3 +8,6 @@
     The two are the same,
     But after they are produced,
       they have different names.
    +They both may be called deep and profound.
    +Deeper and more profound,
    +The door of all subtleties!
  ```

## TODO

```
  Interfaces with files, arrays, etc.
```

## AUTHOR

```
  Vladi Belperchinov-Shabanski "Cade"
  <cade@biscom.net> <cade@datamax.bg> <cade@cpan.org>
  http://cade.datamax.bg
```

## VERSION

```
  $Id: Patch.pm,v 1.6 2007/04/07 19:57:41 cade Exp $
```
