in reply to Working with arrays

I don't quite understand why your new requirement for output of this format:
typex ...... typey ..... typea ..... typez ......
Couldn't match the very thing your code is doing now, that is print data in this format:
typea name5 9 8 2 1 typex name1 1 2 3 4 name3 2 3 3 1 typey name2 3 4 5 6 typez name4 5 3 4 2
You should be more specific in what is it you want to do and how the output should be structured? At this stage, the only thing I see changed in your 'requirements' is the 'type' ordering. However, the new ordering doesn't appear to be alphanumeric. So, do you want some predefined ordering?

Update: thanks for clarification kevinw, so here goes the code:
my %types; while (<DATA>) { chop; m/(.*)\s([^\s]+)$/ or next; push @{$types{$2}}, $1; } foreach my $type (keys %types) { print "$type\n"; print "$_\n" for @{$types{$type}}; } __DATA__ name1 1 2 3 4 typex name2 3 4 5 6 typey name3 2 3 3 1 typex name4 5 3 4 2 typez name5 9 8 2 1 typea
And subsequent output:
typex name1 1 2 3 4 name3 2 3 3 1 typea name5 9 8 2 1 typey name2 3 4 5 6 typez name4 5 3 4 2
But even this is really a rewrite of your original code and doesn't do any sorting, especially the way you want it as it doesn't appear to be in proper alphanumerical order.

_____________________
# Under Construction

Replies are listed 'Best First'.
Re: Re: Working with arrays
by kevinw (Novice) on Jul 24, 2002 at 15:14 UTC
    sorry for the confusion....basically i have a file in this format
    name1 1 2 3 4 typex name2 3 4 5 6 typey name3 2 3 3 1 typex name4 5 3 4 2 typez name5 9 8 2 1 typea
    and i want to print it out into another file in this format
    typex name1 1 2 3 4 name3 2 3 3 1 typey name2 3 4 5 6 typea name5 9 8 2 1 typez name4 5 3 4 2