Oder wenn Sie wirklich schmutzig sein wollen : {local $,=', ';print @array}.
musiKk
10
Es gibt mehr als einen Weg, dies zu tun. Aber dies ist der Weg, der die Person nicht dazu bringt, den Code zu pflegen, nachdem Sie Sie gehasst haben. Ja, Perldoc Perlvar existiert, aber ich würde lieber einen Blick auf "join ',' @array" werfen, als jede zweite Zeile perlvar aufzurufen, um herauszufinden, was alle esoterischen Variablen tun.
Oesor
@Oesor: Deshalb habe ich es schmutzig genannt. Aber wenn ich mir die anderen Antworten ansehe, bin ich nicht wirklich der schlimmste Täter. :)
musiKk
@musiKK Ich mag es! Es ist etwas, das ich verwenden würde, wenn ich meine Kollegen verwirren wollte. :)
Alex
3
Dies funktionierte sehr gut zum Drucken des Verzeichnisinhalts. print "current directory contains " . join(', ', <*>) . "\n";
Installieren Sie unter Ubuntu / Mint das Paket libdata-dump-perl.
MUY Belgien
2
Beste Antwort hier! Funktioniert auch mit mehrdimensionalen Arrays. Am flexibelsten.
Léo Léopold Hertz 준영
18
Wenn Sie für die Art von Klarheit programmieren, die von jemandem verstanden wird, der gerade erst mit Perl anfängt, sagt das traditionelle Konstrukt, was es bedeutet, mit einem hohen Maß an Klarheit und Lesbarkeit:
$string = join ', ',@array;print"$string\n";
Dieses Konstrukt ist in dokumentiert perldoc -fjoin.
Mir hat jedoch immer gefallen, wie einfach es $,macht. Die spezielle Variable $"dient zur Interpolation und die spezielle Variable $,zur Liste. Kombinieren Sie eine der beiden Optionen mit dynamischen Bereichsbeschränkungen local, um Welligkeitseffekte im gesamten Skript zu vermeiden:
use feature q(say);use strict;use warnings;my@array= qw/12345/;{local $,=', ';
say @array;# List}
Die speziellen Variablen $,und $"sind in Perlvar dokumentiert . Das localSchlüsselwort und wie es verwendet werden kann, um die Auswirkungen der Änderung des Werts einer globalen Interpunktionsvariablen einzuschränken, wird wahrscheinlich am besten in perlsub beschrieben .
Data :: Dumper ist ein Standardmodul und wird zusammen mit Perl installiert. Eine Liste aller Standard-Pragmatiken und -Module finden Sie unter pelrdoc perlmodlib.
Shawnhcorey
7
Überprüfen Sie das Data::PrinterModul auf Inspektion / Debugging . Es soll nur eins und eins tun:
Anzeige von Perl-Variablen und -Objekten auf dem Bildschirm, ordnungsgemäß formatiert (von einem Menschen zu überprüfen)
Anwendungsbeispiel:
useData::Printer;
p @array;# no need to pass references
Der obige Code könnte Folgendes ausgeben (mit Farben!):
{local $,=', ';print @array}
.print "current directory contains " . join(', ', <*>) . "\n";
Sie können verwenden
Data::Dump
:Produziert:
quelle
Wenn Sie für die Art von Klarheit programmieren, die von jemandem verstanden wird, der gerade erst mit Perl anfängt, sagt das traditionelle Konstrukt, was es bedeutet, mit einem hohen Maß an Klarheit und Lesbarkeit:
Dieses Konstrukt ist in dokumentiert
perldoc -f
join
.Mir hat jedoch immer gefallen, wie einfach es
$,
macht. Die spezielle Variable$"
dient zur Interpolation und die spezielle Variable$,
zur Liste. Kombinieren Sie eine der beiden Optionen mit dynamischen Bereichsbeschränkungenlocal
, um Welligkeitseffekte im gesamten Skript zu vermeiden:ODER mit $,:
Die speziellen Variablen
$,
und$"
sind in Perlvar dokumentiert . Daslocal
Schlüsselwort und wie es verwendet werden kann, um die Auswirkungen der Änderung des Werts einer globalen Interpunktionsvariablen einzuschränken, wird wahrscheinlich am besten in perlsub beschrieben .Genießen!
quelle
Vielleicht möchten Sie auch Data :: Dumper ausprobieren . Beispiel:
quelle
pelrdoc perlmodlib
.Überprüfen Sie das
Data::Printer
Modul auf Inspektion / Debugging . Es soll nur eins und eins tun:Anwendungsbeispiel:
Der obige Code könnte Folgendes ausgeben (mit Farben!):
quelle
libdata-printer-perl
Paket installieren .Sie können es einfach
print
.Sie erhalten:
quelle
use warnings;
und sehen, was es sagt.quelle
Verwenden von
Data::Dumper
:Generiert drei verschiedene Ausgabestile:
quelle
Dies ist vielleicht nicht das, wonach Sie suchen, aber hier ist etwas, das ich für einen Auftrag getan habe:
quelle
Die Karte kann auch verwendet werden, ist aber manchmal schwer zu lesen, wenn viele Dinge vor sich gehen.
quelle
Ich habe jedoch nicht versucht, unten zu rennen. Ich denke, das ist ein kniffliger Weg.
quelle