Или, если вы действительно хотите быть загрязнен {local $,=', ';print @array}.
musiKk
10
Есть несколько способов сделать это ... но этот способ не заставляет человека, поддерживающего код, ненавидеть вас. Да, perldoc perlvar существует, но я бы предпочел просмотреть "join ',' @array", чем заглядывать в perlvar каждую вторую строку, чтобы выяснить, что делают все эзотерические переменные.
Oesor
@Oesor: Вот почему я назвал это грязным. Но что ж, глядя на другие ответы, я на самом деле не худший преступник. :)
musiKk
@musiKK Мне это нравится! Я бы использовал это, если бы хотел озадачить своих коллег по работе. :)
Alex
3
Это действительно хорошо сработало для печати содержимого каталога. print "current directory contains " . join(', ', <*>) . "\n";
В Ubuntu / Mint установите пакет libdata-dump-perl.
MUY Belgium
2
Лучший ответ здесь! Также работает с многомерными массивами. Самый гибкий.
Лео Леопольд Герц 준영
18
Если вы пишете код для ясности, понятной для тех, кто только начинает работать с Perl, традиционная конструкция this говорит, что она означает, с высокой степенью ясности и разборчивости:
$string = join ', ',@array;print"$string\n";
Эта конструкция задокументирована в perldoc -fjoin.
Однако мне всегда нравилось, насколько это просто $,. Специальная переменная $"предназначена для интерполяции, а специальная переменная $,- для списков. Объедините любой из них с динамическим ограничением области видимости ' local', чтобы избежать эффекта ряби по всему сценарию:
use feature q(say);use strict;use warnings;my@array= qw/12345/;{local $,=', ';
say @array;# List}
Специальные переменные $,и $"задокументированы в perlvar . localКлючевые слова, и как его можно использовать , чтобы ограничить влияние изменения значения глобальной переменной пунктуации является , вероятно , лучше всего описаны в perlsub .
Data :: Dumper - стандартный модуль, устанавливается вместе с Perl. Чтобы получить список всех стандартных прагматик и модулей, см pelrdoc perlmodlib..
Shawnhcorey
7
Для проверки / отладки проверьте Data::Printerмодуль. Он предназначен для одного и только одного:
отображать переменные и объекты Perl на экране в правильном формате (для проверки человеком)
Пример использования:
useData::Printer;
p @array;# no need to pass references
Приведенный выше код может выводить что-то вроде этого (с цветами!):
У вас есть запятые в печати, потому что они есть в каждом элементе массива. Вы действительно должны заявить use warnings;и посмотреть, что там написано.
Toto
2
# better than Dumper --you're ready for the WWW....use JSON::XS;print encode_json \@some_array
{local $,=', ';print @array}
.print "current directory contains " . join(', ', <*>) . "\n";
Вы можете использовать
Data::Dump
:Производит:
источник
Если вы пишете код для ясности, понятной для тех, кто только начинает работать с Perl, традиционная конструкция this говорит, что она означает, с высокой степенью ясности и разборчивости:
Эта конструкция задокументирована в
perldoc -f
join
.Однако мне всегда нравилось, насколько это просто
$,
. Специальная переменная$"
предназначена для интерполяции, а специальная переменная$,
- для списков. Объедините любой из них с динамическим ограничением области видимости 'local
', чтобы избежать эффекта ряби по всему сценарию:ИЛИ с помощью $ ,:
Специальные переменные
$,
и$"
задокументированы в perlvar .local
Ключевые слова, и как его можно использовать , чтобы ограничить влияние изменения значения глобальной переменной пунктуации является , вероятно , лучше всего описаны в perlsub .Наслаждайтесь!
источник
Также вы можете попробовать Data :: Dumper . Пример:
источник
pelrdoc perlmodlib
..Для проверки / отладки проверьте
Data::Printer
модуль. Он предназначен для одного и только одного:Пример использования:
Приведенный выше код может выводить что-то вроде этого (с цветами!):
источник
libdata-printer-perl
пакет.Вы можете просто
print
это сделать.Вы получите:
источник
use warnings;
и посмотреть, что там написано.источник
Использование
Data::Dumper
:Создает три разных стиля вывода:
источник
Возможно, это не то, что вы ищете, но вот кое-что, что я сделал для задания:
источник
Карту также можно использовать, но иногда ее трудно читать, когда у вас много чего происходит.
источник
Однако я не пробовал бегать ниже. Я думаю, это хитрый способ.
источник