man i
love map solutions, but just in case anonomo robert would like to see a map-less version...
my $order_should_be = 'ACTION,TITLE,WPR_ID,US_RELEASE_DATE,TITLE_TALEN
+T,GENRE,FOX_ENTITY,ACQUSITION,PRODUCTION_RELATION,THEATRICAL_RIGHT';
my @should_be_model = split /\,/, $order_should_be;
my $file_layout = <DATA>;
my @file_layout_keys = split /\,/,$file_layout;
while ( my $file_data = <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
also i assumed these are comma separated values. otherwise, what will you do if there are spaces in the title?