Even though you talk about "Diff'ing", you don't want the (minimal) set of changes to get from one file to the second, you only want to know whether two files are identical or not (or that's the interpretation I lay into your words).

There are several ways to achieve what you want. The easiest way would be to use Digest::MD5, which comes with Perl 5.6 in the core. If the two files have an identical MD5 hash, they most likely are the same.

If your version of Perl dosen't have Digest::MD5, you might want do do the check manually, first checking whether the two files have the same file size (via the tell function or the -s function (perldoc -f -X), and then slurping the two files into memory and doing an eq comparision on them.

If the files are too large to be held in memory at one time, you might want to compare little chunks of the two files one at a time, starting either from the beginning or the end of the file, whichever part has the more likely chance of being different.

perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web

In reply to Re: File Diff'ing by Corion
in thread File Diff'ing by dimes

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.