From: Tony Frasketi <[EMAIL PROTECTED]>
> Hello group
> I'm getting the following error message when running my Perl program:
> 
>     Out of Memory!
> 
> The program reads in an ASCII file into a string variable $lines. Then
> parses $lines looking for certain types of entities as follows...
> 
>      while ($lines =~ s/(INSERT INTO.+?)\#<end_insert>(.+)/$2/si) {
> 
>            # processing goes here
> 
>      }
> 
> No problem reading in the file. The 'Out of Memory' error occurs as
> soon as the while statement is first executed.

Yeah that's because you force Perl to do unnecessary work.

Try to change the code to:

        while ($lines =~ /(INSERT INTO.+?)\#<end_insert>/sig) {

This will loop through the $lines just as well, but will not force 
Perl to keep modifying the text.

HTH, Jenda
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed 
to get drunk and croon as much as they like.
        -- Terry Pratchett in Sourcery


-- 
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