Can"t find string terminator "EOM" - beginner question

Can"t find string terminator "EOM" - beginner question

am 30.06.2005 00:34:27 von humphrey.c.chan

Hello,

I am a beginner in Perl programming. Currently, I am using Perl
5.005_03 in my Solaris 8 server.

I am getting the following error message when running my program :

Can't find string terminator "EOM" anywhere before EOF at ./my-prog.pl
line 107.

Here's my program excerpt -->>

:
:
105 open (MAIL, "| /usr/lib/sendmail -oi -t");
106 select(MAIL);
107 print < 108 From: sa@bonjour.com
109 To: user1@bonjour.com
110
111 Subject: Alert !! Alert !!
112
113
114 Please check the system
115 at your earliest convenience......
116
117 PS: You know who you arev !!
118
119
120 EOM

Please help me to resolve this.

Thanks much,

Humphrey

Re: Can"t find string terminator "EOM" - beginner question

am 30.06.2005 02:45:49 von Sisyphus

wrote in message
news:1120084467.915588.161620@g49g2000cwa.googlegroups.com.. .
> Hello,
>
> I am a beginner in Perl programming. Currently, I am using Perl
> 5.005_03 in my Solaris 8 server.
>
> I am getting the following error message when running my program :
>
> Can't find string terminator "EOM" anywhere before EOF at ./my-prog.pl
> line 107.
>
> Here's my program excerpt -->>
>
> :
> :
> 105 open (MAIL, "| /usr/lib/sendmail -oi -t");
> 106 select(MAIL);
> 107 print < > 108 From: sa@bonjour.com
> 109 To: user1@bonjour.com
> 110
> 111 Subject: Alert !! Alert !!
> 112
> 113
> 114 Please check the system
> 115 at your earliest convenience......
> 116
> 117 PS: You know who you arev !!
> 118
> 119
> 120 EOM
>

Looks to me that there's one or more spaces before EOM on line 120. Change
it so that EOM occurs at the very start of the line and see if that helps.

Cheers,
Rob

Re: Can"t find string terminator "EOM" - beginner question

am 30.06.2005 21:27:58 von Fabian Pilkowski

* Sisyphus schrieb:
> wrote
>>
>> Can't find string terminator "EOM" anywhere before EOF at ./my-prog.pl
>> line 107.
>>
>> Here's my program excerpt -->>
>>
>> :
>> :
>> 105 open (MAIL, "| /usr/lib/sendmail -oi -t");
>> 106 select(MAIL);
>> 107 print < >> 108 From: sa@bonjour.com
>> 109 To: user1@bonjour.com
>> 110
>> 111 Subject: Alert !! Alert !!

As default here-docs do interpolate the string. That means, here you're
looking for any occurence of $scalars/@arrays/%hashes and replace it by
its current (stringified) value. Please escape that "@"-sign by writing
"sa\@bonjour.com".

Second, the Subject is part of the header. You have to delete line 110
if that "Subject:"-line should set the subject of this mail.

>> 112
>> 113
>> 114 Please check the system
>> 115 at your earliest convenience......
>> 116
>> 117 PS: You know who you arev !!
>> 118
>> 119
>> 120 EOM
>
> Looks to me that there's one or more spaces before EOM on line 120. Change
> it so that EOM occurs at the very start of the line and see if that helps.

And, in front of line 105 you marked with ":" that there are more lines.
Are there more lines after line 120 too? Make sure that there is also a
newline behind "EOM".

regards,
fabian