Mark, AWSOME! Work great. If it is not too much trouble, could I ask how this works?
I assume $remainder is not used :-) What does $line =~ /[^\\]"/g; anchor to? Thanks again! Brad On Tuesday 22 January 2008 5:41 pm, Vaughan, Mark wrote: > Brad, > I was able to successfully run this on Windows using ActiveState Perl. > > I did get a seg fault when running this on a Solaris 9 box using Perl > 5.8.5. I followed through the code and > Text::Balanced::extract_delimited, line 135, provides the seg fault. > In translating the variables, here is the pattern match that is failing: > $$textref =~ m/\G(\s*)((?:\"(?:[^\\\"]*(?:\\.[^\\\"]*)*)\"))/gc > > The $textref variable is a scalar pointing to the input line. Only > guessing here, but I wonder if the pattern match is running out of > memory. > > Here is a sample routine which gives the desired response instead of > using Text::Balanced::extract_delimited. It runs fine on my sun box > using the input records you gave me: > > sub extractDelimited { > my( $line ) = @_; > > if( $line !~ /^"/ ) { > return( undef, $line ); > } > > my $val; > my $remainder; > > $line =~ /[^\\]"/g; > my $pos = pos($line); > print $pos, '/', length( $line ), "\n"; > if( defined( $pos )) { > return( substr( $line, 0, $pos ), substr( $line, $pos )); > } > return( undef, $line ); > } > > Try calling this routine instead of Text::Balanced::extract_delimited. > Also, the value in question is $ret[10], not $ret[9]. > > HTH, > Mark Vaughan > TTS Development > Comcast Cable Corporation > 720.268.8591 > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Brad O'Hara > Sent: Sunday, January 20, 2008 6:08 AM > To: ARSperl User Discussion > Subject: Re: [Arsperl-users] Parse arx file > > Mark, > > Thanks for the help. Here is the code I am using that seg faults > when I try it. > #!/usr/bin/perl > use Text::Balanced qw( extract_delimited ); > > $line = `/usr/bin/tail -1 /home/arsrv/bin/perlmods/help.txt`; > > while ( length($line) ) { > if( substr($line,0,1) eq '"' ) { > ( $val, $line ) = extract_delimited( $line, '"' ); > last if defined($line) && !defined($val); > $val =~ s/^"//; > $val =~ s/"$//; > > $val =~ s/\\\\/\\/g; > $val =~ s/\\r//g; > $val =~ s/\\n/\n/g; > $val =~ s/\\"/"/g; > } > else { > $line =~ s/(\S+)//; > $val = $1; > } > push @ret, $val; > $line =~ s/\s*//; > } > > print ">$ret[9]<\n"; > exit; > > I will tried a new export with the same result. I placed a new arx > file at the address I gave you. > It contains the record before the problem record as well as headers. > > Thanks again, > > Brad > > On Jan 20, 2008, at 12:26 AM, Mark Vaughan wrote: > > > Brad, > > I took a look at your file. > > > > The first data record reads okay. > > > > The second data record reads okay in that the routine does not die. > > The > > problem is the tenth field (Scheduled Date, ID 536870921, type > > DATE). It is > > a 1,039,967 byte (after translation) character string. It is not a > > date > > field by any means. > > > > You may wish to regenerate your ARX file. > > > > HTH, > > Mark Vaughan > > 303.471.9987 (home) > > 303.601.4434 (mobile) > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Brad O'Hara > > Sent: Saturday, January 19, 2008 6:28 PM > > To: ARSperl User Discussion > > Subject: Re: [Arsperl-users] Parse arx file > > > > Mark, > > > > It is a very large record. I placed it at > > http://remedy.cns.ufl.edu/arsperl > > Any help greatly appreciated. > > > > Brad > > > > On Jan 19, 2008, at 12:03 PM, Mark Vaughan wrote: > > > >> What's the record look like? > >> Please send an ARX file with the header, one good record, and the > >> record > >> that does not process. > >> > >> Thanks, > >> Mark Vaughan > >> 303.471.9987 (home) > >> 303.601.4434 (mobile) > >> -----Original Message----- > >> From: [EMAIL PROTECTED] > >> [mailto:[EMAIL PROTECTED] On Behalf Of Brad O'Hara > >> Sent: Friday, January 18, 2008 8:29 AM > >> To: ARSperl User Discussion > >> Subject: Re: [Arsperl-users] Parse arx file > >> > >> Thilo, > >> > >> I've come upon a record the causes the following code to seg > >> fault. Do > >> you have any interest > >> in taking a look? > >> > >> Thanks, > >> Brad > >> > >> On Tuesday 13 November 2007 4:35 pm, Brad O'Hara wrote: > >>> Thanks! Certainly something I can work with! > >>> > >>> Brad > >>> > >>> On Tuesday 13 November 2007 3:01 pm, Thilo Stapff wrote: > >>>> Here's a subroutine that splits a line in ARX format to an array of > >>>> values. It works for the basic data types such as character, > >>>> integer > >> etc. > >>>> More complicated data like attachments, diary and currency would of > >>>> course need some further processing. > >>>> > >>>> > >>>> use Text::Balanced qw( extract_delimited ); > >>>> > >>>> > >>>> sub splitArxLine { > >>>> my( $line ) = @_; > >>>> my @ret; > >>>> my $val; > >>>> > >>>> print "--------------------\n"; > >>>> while( length($line) ){ > >>>> if( substr($line,0,1) eq '"' ){ > >>>> ( $val, $line ) = extract_delimited( $line, '"' ); > >>>> last if defined($line) && !defined($val); > >>>> $val =~ s/^"//; > >>>> $val =~ s/"$//; > >>>> > >>>> $val =~ s/\\\\/\\/g; > >>>> $val =~ s/\\r//g; > >>>> $val =~ s/\\n/\n/g; > >>>> $val =~ s/\\"/"/g; > >>>> > >>>> print "<$val>\n"; > >>>> > >>>> }else{ > >>>> $line =~ s/(\S+)//; > >>>> $val = $1; > >>>> } > >>>> push @ret, $val; > >>>> $line =~ s/\s*//; > >>>> } > >>>> > >>>> return @ret; > >>>> } > >>>> > >>>> > >>>> > >>>> Regards, > >>>> Thilo > >>>> > >>>> > >>>> > >>>> Brad O'Hara wrote: > >>>>> Hi all, > >>>>> > >>>>> Anyone written a routine to parse a .arx file? > >>>>> > >>>>> Thanks, > >>>>> Brad > >>>> > >>>> > >>>> > >> > ------------------------------------------------------------------------ > - > >>>> This SF.net email is sponsored by: Splunk Inc. > >>>> Still grepping through log files to find problems? Stop. > >>>> Now Search log events and configuration files using AJAX and a > >>>> browser. > >>>> Download your FREE copy of Splunk now >> http://get.splunk.com/ > >>>> _______________________________________________ > >>>> Arsperl-users mailing list > >>>> Arsperl-users@arsperl.org > >>>> https://lists.sourceforge.net/lists/listinfo/arsperl-users > >>>> > >>>> > >>> > >> > >> -- > >> Brad O'Hara E-mail: [EMAIL PROTECTED] > >> IT Expert Voice: (352)392-2061 > >> Computing and Networking Services Suncom: 622-2061 > >> University of Florida Fax: (352)392-9440 > >> > >> > ------------------------------------------------------------------------ > - > >> This SF.net email is sponsored by: Microsoft > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > >> _______________________________________________ > >> Arsperl-users mailing list > >> Arsperl-users@arsperl.org > >> https://lists.sourceforge.net/lists/listinfo/arsperl-users > >> > >> > >> > ------------------------------------------------------------------------ > - > >> This SF.net email is sponsored by: Microsoft > >> Defy all challenges. Microsoft(R) Visual Studio 2008. > >> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > >> _______________________________________________ > >> Arsperl-users mailing list > >> Arsperl-users@arsperl.org > >> https://lists.sourceforge.net/lists/listinfo/arsperl-users > >> > > > > > > > ------------------------------------------------------------------------ > - > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Arsperl-users mailing list > > Arsperl-users@arsperl.org > > https://lists.sourceforge.net/lists/listinfo/arsperl-users > > > > > > > ------------------------------------------------------------------------ > - > > This SF.net email is sponsored by: Microsoft > > Defy all challenges. Microsoft(R) Visual Studio 2008. > > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > > _______________________________________________ > > Arsperl-users mailing list > > Arsperl-users@arsperl.org > > https://lists.sourceforge.net/lists/listinfo/arsperl-users > > > > > ------------------------------------------------------------------------ > - > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Arsperl-users mailing list > Arsperl-users@arsperl.org > https://lists.sourceforge.net/lists/listinfo/arsperl-users > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Arsperl-users mailing list > Arsperl-users@arsperl.org > https://lists.sourceforge.net/lists/listinfo/arsperl-users > > -- Brad O'Hara E-mail: [EMAIL PROTECTED] IT Expert Voice: (352)392-2061 Computing and Networking Services Suncom: 622-2061 University of Florida Fax: (352)392-9440 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Arsperl-users mailing list Arsperl-users@arsperl.org https://lists.sourceforge.net/lists/listinfo/arsperl-users