Bug in Perl compare

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • stevepjohnson
    Journeyman
    • Dec 2007
    • 13

    Bug in Perl compare

    I've finally managed to get an example of when Cirrus loses it's way in some Perl comparisons, which I've seen a few times in our own Perl code ! Note I see this with the Linux version, but I've proved it also happens with the Windows version whether the files are in Unix or Windows format.

    It's related to having a single quote mark (') in a comment, but it's not just that. Trying with the source files from IPC::Run (see http://search.cpan.org/~rsod/IPC-Run...lib/IPC/Run.pm), I found making a single change in the "Timer.pm" source causes the problem, and I've attached a zip of the Timer.pm and the changed version that shows the problem: (I even converted them to DOS format for you )

    Just to be clear -the only difference is a single line added at line 665, but in Cirrus the remainder of the file shows as different. This does not happen (and should not happen) in many other Perl files - eg. the main "Run.pm" in the above package, and that file contains large numbers of single quotes!

    Hopefully this example will allow you to debug what actually is getting lost in the comparison code!
  • Zoë
    Team Scooter
    • Oct 2007
    • 2666

    #2
    Thanks for the sample files. We weren't handling perlpod markup, and that will be corrected in the next release. I got most of the cases covered, but I couldn't how a =for one stops, so I left that out.
    Zoë P Scooter Software

    Comment

    • stevepjohnson
      Journeyman
      • Dec 2007
      • 13

      #3
      Fantastic! Build 443 includes this support and displays the differences perfectly!

      Reading the docs for the =for structure, it says that this ends at the next blank line. It implies a common usage as a form of comment:
      =for comment
      This is just a comment that won't appear in any formatted output!

      more-perl-code...

      ... but I have to say I didn't even know about =for until you mentioned it

      Comment

      Working...