DiffKit is an application and a framework, for comparing two tables of data, field-by-field. The tables can come from any of a number of sources, such as an RDBMS or CSV file, and DiffKit is able to mix different kinds of sources in the same diff operation. It is like the Unix diff utility, but for tables instead of lines of text. Diffs can be reported at both the row and field level, and the user can configure what to compare, how to compare it, what to ignore). DiffKit is highly customizable with respect to the sources of tabular data, the details of the comparison, and the characteristics of the output (diff report).
Grep.pm is a much-modified fork of tcgrep. It understands context, matching from the start or end of a file (with a line count or byte count), and features size limits and highlighting. It extends matching to boolean expressions, structuring regular expressions, or even arbitrary pieces of Perl code. It can perform basic stemming and synonym-expansion in regular expressions (using expansyn). It also handles \0-lines, paragraphs, file slurping, directory recursion, and compressed files. It can act either as a Perl module or a command-line program. Grep.xchange is a support program taking grep or Grep.pm input and applying an expression at each grep match to the files specified in the grep output. This expression can be arbitrary Perl modifying e.g. just the line of the match with s///g, or operate against the current pos() position in the whole file. Grep.xchange --modified goes one step further and replaces the matched lines with the (edited) text from the grep output. Changes are logged in diff -u format and can be revoked/redone with patch.
SafePatch lets you edit program files and track those changes creating "patches" which can later be reverted or reused in a different setup. It's written in PHP, but can patch non-PHP applications because no integration into their source code is required. A bundled Control Panel allows easy tracking, installing, reverting, and diffing of available patches. SafePatch has an intuitive text patch file syntax which is uniform for text and binary files and independent of the engine being patched, has default support for VQMod .xml patches and FluxBB README mods, is written in OOP and uses events (and thus is easily extensible), and doesn't need a database.