Why wouldn't it be done the first time? That doesn't work unless $content[0] is somehow false .. since we're looping through @content and they're presumably all non-false, then $address is always set. Best way to get rid of the temp var is to just use split, or dpending on context (i.e. if you're reading a file) you could do print "," if $. > 1;.