Как я могу произвести список как разделенные от запятой значения в Perl?

Скажем, у меня есть список элементов

@list=(1,2,3);
#desired output
1,2,3

и я хочу распечатать их, поскольку запятая разделила значения. Самое главное я не хочу, чтобы последний элемент имел запятую после него.

Что самый чистый путь состоит в том, чтобы сделать это в Perl?

8
задан brian d foy 22 May 2010 в 15:47
поделиться

5 ответов

print join(',', @list), "\n";
15
ответ дан 5 December 2019 в 05:07
поделиться

У вас есть несколько вариантов. Самый общий - объединить их с помощью функции join :

print join(',', @list), "\n";

Другой способ - изменить специальные переменные , которые влияют на оператор print . Например, эффект вышеупомянутого может быть достигнут с помощью

$, = ",";
$\ = "\n";
print @list;

. Вы также можете автоматически присоединиться к списку, если он подвергается расширению в двойных кавычках:

$" = ",";
print "@list","\n";

Обратите внимание, что если вы измените специальные переменные, такие как $, , $ \ или $ ", вы устанавливаете их глобально. Чтобы этого избежать, используйте ключевое слово local и заключите операнды в блок.

10
ответ дан 5 December 2019 в 05:07
поделиться
join(',', @list);
2
ответ дан 5 December 2019 в 05:07
поделиться

Для простых случаев идеально подходит соединение .

Но если вы хотите создавать или анализировать файлы CSV, лучше использовать Text :: CSV . Он будет обрабатывать кавычки и экранирование запятых и всевозможные другие вредные проблемы для вас. Это также очень быстро.

5
ответ дан 5 December 2019 в 05:07
поделиться

Соедините список запятой.

@list=(1,2,3);
$output = join(",",@list);
2
ответ дан 5 December 2019 в 05:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: