in reply to Parsing a print file

The formatting in your post is mucked up somehow. There are real <code> tags in there (perhaps because you're not closing your <code> tag?), which means spacing isn't preserved. So everyone can see what you're talking about:
Name ID PS Gender Age Month Code + Cap Pool LName, FName 99999 99 M 99.9 12/2000 Add + 99.99 99.99 11/2000 New + 99.99 99.99
I almost think what you want is a flexible regular expression, but if this is a fixed-length string, perhaps unpack will work for you.
$_ = "LName, FName 99999 99 M 99.9 12/2000 Add + 99.99 99.99"; my @keys = qw{ name id ps gender age month code cap pool }; my %info; @info{@keys} = unpack("a16a8a10a9a9a9a10a11a8", $_); foreach (@keys) { $info{$_} =~ s/\s*$//; print "$_='$info{$_}'\n"; }
Adjust the unpack format to match your string (the number of characters per field seems to jump all over the place, but this is probably because it was typed and not cut/pasted), and you should be in good shape.

Replies are listed 'Best First'.
Re: Parsing a print file
by jakeeboy (Sexton) on Jan 06, 2001 at 00:15 UTC
    Thank you so much!! I like that unpack function. It works wonderfully. I still have to work out some things but you just made my life easier now that I can get them into a hash it's time to manipulate them. Thanks again. Jake