Gary Stainburn said:
> On Tuesday 05 November 2002 5:37 pm, LRMK wrote:
>> there is a one problem
>> $mail{message}=<FIN>; only reads the first line of the file
>> in the following block;
>>
>> $oldsep=$/; $/=undef; disable line seperation
>> open(FIN,"<myfile>")||die "cannot open file: $!\n";
>> $mail{message}=<FIN>;
>> close(FIN);
>> $/=$oldsep;
>
> This is not the case. The statement:
>
> $mail{message}=<FIN>;
>
> will start at the beginning of the file sucking in characters until it
> reaches the first $/ character. Normally this would be the 1st newline
> - i.e. the whole of the 1st line. Beause I've UNDEF'd $/ it won't stop
> until it reaches the EOF.
>
> I then restore $/ before proceeding.
As a matter of style, this is one of the few places where using local is
sensible and correct:
{
local $/;
open FIN, $file or die "cannot open $file: $!\n";
$mail{message} = <FIN>;
close FIN or die "cannot close $file: $!\n";
}
--
Paul Johnson - [EMAIL PROTECTED]
http://www.pjcj.net
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]