> -----Original Message-----
> From: Kevin Old [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, January 30, 2003 12:18 PM
> To: [EMAIL PROTECTED]
> Subject: Parsing Fixed Length data
>
>
> Hello all,
>
> I have run into a situation that I've never faced before. I've always
> parsed delimited (comma, pipe, etc) data. Now I'm faced with parsing
> fixed-width data. That's fine and I understand how to do it and have
> even found a module for it (Parse::FixedLength).
>
> Say I have the following string and the first 10 characters are the
> first name, the second 10 are the last name and the next 7 are the
> price.
>
> Kevin Old001.000
>
> I understand that with the name fields I can just strip off the \s
> characters and then I have my first name, but what about the price?
> Some times it could be like 1000.00 or 0100.00....but with
> the preceding
> zeros it makes it confusing. Do I need to explicitly strip off the
> preceding zeros?
>
> Any help on dealing with fixed width data is appreciated,
>
> Kevin
> --
perldoc -f unpack
<snip>
use strict;
use warnings;
my %records;
my $surname;
my $given_name;
my $price;
my @fields;
my $i=0;
while (<DATA>)
{
@fields = unpack("A10A10A7", $_);
$records{$i} = {
given_name => $fields[0],
surname => $fields[1],
price => $fields[2]
};
$i++;
}
print "$records{0}{surname}\n";
print "$records{0}{given_name}\n";
print "$records{0}{price}\n";
print "\n";
print "$records{1}{surname}\n";
print "$records{1}{given_name}\n";
print "$records{1}{price}\n";
__DATA__
Kevin Old 001.000
Someone Else 1.000
</snip>
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]