Re: Extracting one record from multiple-records textfile



On Wednesday 28 November 2007 14:05, Giuseppe.G. wrote:

On 28 Nov, 01:44, pa...@xxxxxxxxxxxxx (Jeff Pang) wrote:

Just show another way to do it.

use strict;

local $/="\n\n";
while(<DATA>) {
next unless /^DOC-START\n(.*?)\nDOC-END$/sm;
my $content = $1;
parse($content);

}

Thank you all for your answers. In particular, Jeff, I'm trying to
use your code.. what does

local $/="\n\n";

do?

It sets the Input Record Separator to the string "\n\n" instead of the
default "\n".

perldoc perlvar


I've noticed that if there are some newlines between DOC_START, text,
and DOC_END, as in

DOC_START


gfghdfghdfghfgh

DOC_END

by doing

local $/="\n\n\n";

I get output (if I don't do that $content is empty). Can you tell me
why?

Because you are changing the Input Record Separator and you have empty
lines inside the document. Chose one of the other methods posted.



John
--
use Perl;
program
fulfillment
.



Relevant Pages

  • Re: regex newbie question
    ... > Reading in lines from a file. ... use strict; ... use warnings; ... defining the input record separator to be the ...
    (comp.lang.perl.misc)
  • RE: parse help
    ... Subject: parse help ... the Input Record Separator can only hold one string. ... it does not fetch full record if the record contains empty ... The first time there is nothing to save, and don't forget to save the ...
    (perl.beginners)
  • Re: While query
    ... || Hash: SHA1 ... || Oops--this won't actually empty the array as the various pop-based ...
    (comp.lang.perl.misc)
  • RE: Replace update year in date
    ... If your dates are in column A and column B is empty, ... "Jeff C" wrote: ... format and I am using Excel 2003 in XP Pro. ... Can someone suggest a way of correcting this? ...
    (microsoft.public.excel.misc)
  • Re: Extracting one record from multiple-records textfile
    ... use strict; ... In particular, Jeff, I'm trying to ... I get output (if I don't do that $content is empty). ...
    (perl.beginners)