Johnno wrote:

> I have a data field listed below.
> 
> "data1","data2","data3","data4","data5","data6","data7 ","data8"
> 
> open (data,"data.txt") || die;
> while (<data>) {
> 
> this is where I run into problems...
> 
> I am wanting do the following..
> 
> split up the data after every , and then remove the " and store it as
> $data[1] = data1 etc...
> 
> but i have more than one line of data..
> 
> so I think when it get the 2nd line of data is might have to save it as
> $data[9] = data1
> 
> once all the data is stored the file will close
> 
> then I can print out the data that i want and leave the rest.. just getting
> the data loaded and shorted in causing a little problem...
> 
> can anyone help please??


Your description is a but cryptic.  If your file is just a
couple of lines, I would slurp it into a string and split it
on , + WS.

my $lines;
{ local $/ = undef;     # drop input line separator and slurp file
open IN, 'data.txt' or die ...
$lines = <IN>;
close IN;
}

# now just split the lines into an array

my @data = split /\s*,\s*/, $lines;

You should have a comma at the end of each line or you will need to
change your split to use WS instead of ',' or allow either.  EG:

        my @data = split /\s*(,\s*|\s+)/, $lines;       # assumes WS always after a 
field if no ,

You could also try to deal with the "'s in the split, but you'll end up with some 

extra fields with just " in them.  EG:

        my @data = split /"\s*,?\s*"/, $lines;  # would need cleanup on ends of array

So I would leave them and drop them later when I went to use the data - EG:

        $datum = $data[$n];                     # get an item
        $datum =~ s/^"//; $datum =~ /"$//;      # remove "'s

-- 
   ,-/-  __      _  _         $Bill Luebkert   ICQ=14439852
  (_/   /  )    // //       DBE Collectibles   Mailto:[EMAIL PROTECTED]
   / ) /--<  o // //      http://dbecoll.tripod.com/ (Free site for Perl)
-/-' /___/_<_</_</_     Castle of Medieval Myth & Magic http://www.todbe.com/

_______________________________________________
Perl-Unix-Users mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to