in reply to grouping lines of data together for later use

I'm with blazer on this one, I don't like all those variables names. Having to take "username" by slicing the 5th element from your array is creating depencies on the order of your data. I'd have read the data into hashes in like this.

use Data::Dumper; my %on_prop; my %on_user; while (<DATA>) { my @fields = split "\t"; my %column_data = map {$_, shift(@fields)} qw(PROP COLOUR TXTCOL U +RL360 USER YOUR_NAME ETC); $on_prop{$column_data{PROP}} = \%column_data; push @{$on_user{$column_data{USER}}}, \%column_data; } print Dumper(\%on_prop); print Dumper(\%on_user); print scalar @{$on_user{'rob'}}; # prints 2 (more than one item for t +his user) __DATA__ 123 Red blue whatever rob blah blah blah 124 Red blue whatever rob blah blah blah 125 Red blue whatever jon blah blah blah
---
my name's not Keith, and I'm not reasonable.