in reply to looping idiom

I take it you don't want to

print join ("\t", @data);

so if you insist on using foreach, how about re-ordering your prints like this:

print shift @data; foreach (@data) { print "\t"; print "$_"; }

Shrug...

Update: same caveat about references that japhy mentions applies to the above. I was assuming your array did not entail any complex data structures ;)

Update 2: OK not exactly the same problem as japhy mentions, but if your @data array contains references you're gonna get ugly results ;) thanks for correcting me japhy

..Guv