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

Reply via email to