in reply to printing array using map

It is not clear whether "[t4 w4]" is an array reference, or plain text. Assuming the latter :
my @a=(qw(w1 w2 w3),"[t4 w4]" ,qw(w5 w6)); m/\[(\S+)\s(\S+)\]/ ? print qq[$2 $1\n] :print qq[$_\n] for @a
FYI - it is pointless using "map" in a void context - "for" is preferable.

If you have an array ref, the code is:

my @a=(qw(w1 w2 w3),["t4","w4"],qw(w5 w6)); ref $_ ? print "$_->[1] $_->[0]\n" :print qq[$_\n] for @a
Of course, for production-level code, you would do a lot more error-checking.

     "How many times do I have to tell you again and again .. not to be repetitive?"