in reply to Clean data - where field contains a CRLF
I doubt I have the same trailing trash on my line-ends as you do.
Be well,
rir
#!/usr/bin/perl use warnings; use strict; my $separator = '|'; my $input = ""; while (<DATA>) { $input .= $_; if ($input =~ m/ ^ # start of string ( # group 1 is (?: # group 2 not memo'd is [^|]*\| # any # not-pipe then a pipe ) {26} # repeated 26 times total $ # and reaching the end of string ) /sx # while matching \n with . ) { my $record = $1; $input =~ s/^\Q$record\E\n//s; # trailing trash?? my @arr = split /\|/, $record; # process @arr } } __DATA__ EN|486822|||KKJSKA|L|L00219796|STR, JASON A|JASON|A|STR|||||3710 |NORT +H CANTON|OH|44720|||000|0003053964|I||| EN|486823|||YYYYYY|L|L00738657|OCID, SEAN M|SEAN|M|OCID|||||3846 Foxta +il Lane |CINCINNATI|OH|45248|||000|0009544289|I||| EN|486824|||KXXXXP|L||DSBS, ANDREW J|ANDREW|J|DSBS|||||28835 STILXXXXX +X|FARXXXXX HILLS|MI|48334|||000||I|||
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Clean data - where field contains a CRLF
by sxmwb (Pilgrim) on Aug 21, 2006 at 13:18 UTC | |
by rir (Vicar) on Aug 21, 2006 at 13:41 UTC |