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