Text::Patch.3pm

Langue: en

Autres versions - même langue

Version: 2007-04-20 (ubuntu - 08/07/09)

Section: 3 (Bibliothèques de fonctions)

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 $