Why? What are you trying to achieve? It would help for readability if you used code tags. map returns a new list, whereas for allows modification of an existing one. You need to take the input list in your map and use that as the for list. You then need to push your result onto the output array. But if your code works, then why rewrite it to use for?
map returns a new list, whereas for allows modification of an existing one
It sounds like contracdicting although, perhaps, you didn't mean it. The map operator allows modification as well since $_ would be a reference to the corresponding elements of existing array.
$ perl -wle 'my @ar = qw(one two three); print "@ar"; my @new = map {
+$_ = uc } @ar; print "@new"; print "@ar"'
one two three
ONE TWO THREE
ONE TWO THREE