my @calarray; #puts data to @calarray like I want it to while () { push (@calarray, $_); } my $key = ""; my $value = ""; #This is what I'm having trouble with. %sorting = map { my ($key, $value1) = split ";"; $key => $value } @calarray; print "$key, $value";