From:                   "David Blevins" <[EMAIL PROTECTED]>
> Background: I get automated emails that contain information about
> project tasks (this is a sourceforge project). As I am the project
> admin, I get all emails.
> 
> Here is a shortened version of the program.  I'm a terrible perl
> programmer, so any tips are welcome.
> 
>     my $status;
>     my $assignedto;
> 
>     while (<STDIN>) {
>         chomp;                        # Drop the newline
>         if (/^Status:/) { s/.*: ([^ ]*)$/$1/; $status = $_; next;} if
>         (/^Assigned to/) { s/.*: ([^ ]*)/$1/; $assignedto = $_; next;}
>     }
> 
>     #The value of $status should be 'Open'
>     #The value of $assignedto should be 'dblevins'
>     print $status,"x\n";
>     print $assignedto,"x\n";
>     #I am expecting this output:
>     #Open
>     #dblevins
>     #But for some reason, these two print statements print this:
>     #xpen
>     #xblevins

I think the problem is that the mail messages contain CRLF as the 
line ending. But since you are either running the code under Unix 
or you've binmoded the STDIN or something, the <STDIN> reads 
the lines with CRLF and chomp() only strips the LF.

Thus what you are printing is

        Open\rx\n
or
        OpenCRxLF

Which then on the terminal will look as
        xpen

Add a chop() after the chomp() and you should be OK.

Jenda


=========== [EMAIL PROTECTED] == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain.
I can't find it.
                                        --- me

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to