Поскольку кажется, что вы хотите новую строку не только между каждой строкой, но и после последней, вы можете использовать любой из следующих параметров:
join("\n", @names) . "\n"
или
join("", map "$_\n", @names)
Они эквивалентны за исключением случаев, когда массив пуст.В этой ситуации первое приводит к новой строке, а второе - к пустой строке.
Кстати,
$content = $content . EXPR;
можно записать как
$content .= EXPR;