Jenda Krynicky wrote:
> From: "Dr.Ruud" <[EMAIL PROTECTED]>
>>Ovid schreef:
>>
>>>        my $text = do { local $/; <$fh> };
>>There is a problem with this idiom: it uses about twice the memory of
>>this variant:
>>
>>          my $text ; { local $/ ; $text = <$fh> }
>>
>>So if your files can be big (related to the amount of memory
>>available), use the latter.
> 
> How do you know? it doesn't seem to be the case. I tried to load a 
> 2MB file both ways and the memory consumption seemed to be the same 
> (plus or minus a few KB).
> 
> I tried then to load a 72MB file and the memory consuption was
> 77,532KB with the do{} and 77,452KB without. Not sure why the 
> difference, but it's definitely not twice more.
> 
> Unless of course I overlooked something.

If you want to use less memory than either:

read $fh, my $text, -s $fh;



John
-- 
Perl isn't a toolbox, but a small machine shop where you can special-order
certain sorts of tools at low cost and in short order.       -- Larry Wall

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to