1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use Text::Diff; use Text::Diff::Table; my $diff = Text::Diff::Table->new; $tst1 = '/home/dani/perl/test12.pl'; $tst2 = '/home/dani/perl/test12.pl.old'; $diff = diff $tst2, $tst1, { STYLE => "Table" }; $diff = diff $tst2 => $tst1; use Algorithm::Diff; $diff = Algorithm::Diff::sdiff($tst2,$tst1); use YAML::Dumper; my $dumper = YAML::Dumper->new; $dumper->indent_width(4); $bla = $dumper->dump($diff); $bla =~ s/</</g; $bla =~ s/$tst2/Neue Version/g; $bla =~ s/$tst1/Alte Datei/g; print '<pre>'.$bla.'</pre>';
Guest Dani NewbieWas bedeutet das genau?Mit Text:Diff komme ich nicht hin, was nur irgendwie für JEDEN verständlich wird :-(
2012-06-27T15:16:09 GwenDragonGuest Dani NewbieWas bedeutet das genau?Mit Text:Diff komme ich nicht hin, was nur irgendwie für JEDEN verständlich wird :-(
2012-06-27T19:56:30 pqString::Diff kann aber leicht sehr langsam werden. ich habe das auch mal benutzt, empfehle jetzt aber auch Text::Diff oder ggfs. Algorithm::Diff
2012-06-27T19:59:24 bianca2012-06-27T19:56:30 pqAber ich glaube auch, dass es für diese Fragestellung zu wenig Logik bezüglich Textformatierung/Absätze usw. bietet, kann das sein?
Danke Bianca! Das wollte ich ausdrücken, schaffte es aber nicht.
Ja, ich habe auch schon Unix-diff verwendet. Dann die diversen diff-Bibliotheken. Aber alles ist eher "mathematisch" und geht nicht auf die "Logik" der deutschen Sprache ein. d.h. wenn in der anderen Version ein Satz fehlt, dann ist ja alles "verrutscht" und das erkennen diese diffs nicht. Die Wikipedia-Leute haben das aber (mit PHP?) ordentlich gelöst. Noch "ordentlicher" oder zumindest einfacher sollte es in perl gehen. Aber ich komme zu keiner zufriedenstellenden Lösung :-(