use strict; use warnings; my @keys = ( 'Name', 'AlarmConsistencyMgr', 'AlarmForwarder', 'AlarmForwarderServer', 'alert_publisher', 'AnalogGatewayMain', 'AssetTracking', 'CallerPosition', ); $_ = ; chomp; my @vals = split /,/; my %hash; @hash{@keys} = @vals; for (@keys) { print "$_ -> $hash{$_}\n"; } __DATA__ ,,,X,X,,X,X,X,X,X,X,X,,,,,,,X,X,X,,,,X,,,,,,,,X,,,,,X,,,