my $order_should_be = 'ACTION,TITLE,WPR_ID,US_RELEASE_DATE,TITLE_TALENT,GENRE,FOX_ENTITY,ACQUSITION,PRODUCTION_RELATION,THEATRICAL_RIGHT'; my @should_be_model = split /\,/, $order_should_be; my $file_layout = ; my @file_layout_keys = split /\,/,$file_layout; while ( my $file_data = ) { # build a hash of the file data my %hash; my @file_data_values = split /\,/,$file_data; for (@file_layout_keys) { $hash{$_} = shift @file_data_values; } # print it out in the correct order: foreach (@should_be_model) { # take care of unintialzed data $hash{$_} = '' if ! $hash{$_}; print "$_ => $hash{$_}\n"; } } __DATA__ TITLE,US_RELEASE_DATE,GENRE The Adventures of Buckaroo Banzai Across the 8th Dimension,1984,ACTION Highlander,1986,ACTION The Adventures of Bob & Doug McKenzie: Strange Brew,1983,COMEDY