http://www.perlmonks.org?node_id=863195


in reply to Re^5: Need help comparing 4 dates (Fixed.)
in thread Need help comparing 4 dates

I don't have a blank line after the header and before the dates

__DATA__ EVENT JIM BOB SAM JACK PTRED~09/29/10 03:23:05 PM~09/28/10 02:21:09 PM~09/26/10 11:00:03 AM~0 +9/26/10 11:00:02 AM RED~08/29/10 01:55:00 AM~08/30/09 12:10:10 PM~08/27/10 08:16:21 PM~09/ +01/10 12:12:12 AM INT~07/04/10 03:21:15 AM~07/08/10 04:17:33 PM~06/30/10 04:22:11 AM~06/ +28/10 10:11:01 PM PTRED~06/19/10 09:19:55 PM~04/25/10 07:39:22 PM~09/16/10 10:34:24 AM~0 +7/22/10 06:19:38 PM RED~04/29/10 12:10:59 AM~04/20/10 02:13:33 AM~07/17/10 01:00:05 PM~09/ +01/10 11:10:15 PM INT~05/23/10 11:11:11 PM~01/08/10 10:45:12 PM~05/15/09 03:29:37 AM~05/ +18/09 12:59:59 PM

Replies are listed 'Best First'.
Re^7: Need help comparing 4 dates (Fixed.)
by BrowserUk (Patriarch) on Oct 03, 2010 at 18:54 UTC

    The reason for asking was this bit of the error message you posted:  <DATA> line 2.

    Did you get more than one copy of the error message (on different lines)?

    Another possibility, though I can't see how it would arise, is that you have and old version of Date::Manip?

    C:\test>Perl -MDate::Manip -Esay$Date::Manip::VERSION 5.56

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.

      I do have an older version (5.54)..I'll install 5.56 and see if that fixes it.

      The warning does repeat for multiple lines...a lot. I was going to capture them in a file and then grep the count, but only the output displayed below was captured in the file

      Also, what is interesting is that the output contains a blank line between the header and result set even though there is no blank line after __DATA__

      EVENT JIM BOB SAM JACK PTRED 4 3 2 1 RED 3 1 2 4 INT 3 4 2 1 PTRED 2 1 4 3 RED 2 1 3 4 INT 4 3 1 2

      Actually, nevermind about the blank line in the result set. I see that yours has it also. Must come from the "+1" in the print.

        Actually, nevermind about the blank line in the result set. I see that yours has it also. Must come from the "+1" in the print.

        Erm, no. The header line, and the following blank line in the output, are printed by this line:

        print scalar <DATA>;

        It has one newline because I didn't chomp it. And the second, because I have -l on the hashbang line:

        #! perl -slw

        Which has the affect of automatically adding "\n" to the end of every print line.

        The +1 in this line:

        print join "\t", $label, map $_+1, sort{ $order[ $a ] <=> $order[ $b ] } 0 .. $#order;

        converts the numbers 0 .. 3 used to index the array while sorting. into the numbers 1 .. 4 used for your desired output.


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.