in reply to Split array and join with results
Formally, you want the cross product of the set of models and the set of colors. The post by cheekuperl shows how to do this. It does not know or care where the sets came from.
The only remaining question is how to parse the phone file and store the models into the array @phones. You have not given us enough detail about the file to help you with this. Does it have one phone per line? If not, how are the models seperated? Should whitespace be removed?, etc