Thread Wie kriege ich meinen Array aus der Funktion wieder raus ?
(9 answers)
Opened by mzurhorst at 2012-04-12 00:13
also zunächst mal
my @dirs = ""; ist (hier) die falsche art, ein array zu initialisieren. dann hast du nämlich schonmal ein element drin, den leeren string, und das möchtest du hier vermutlich nicht. einfach my @dir; schreiben. und generell: die rückgabe der arrayreferenz ist schon korrekt. aber wenn du ein array oder eine referenz hast und die elemente ausgeben willst, darfst du das nicht mit "" . @array . "" machen, denn in dem fall wird das array in skalarem kontext ausgewertet, und das ergibt die anzahl. wenn du die elemente mit leerzeichen getrennt ausgeben willst, mach einfach print "Directories: @$dirs\n"; wenn du zweifel hast, ob in einer variable das drin ist, was du erwartest, benutze Data::Dumper. dann hättest du hier schonmal gesehen, dass $changed_dirs durchaus den richtigen inhalt hat und es nur an der ausgabe hapert. Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |