Thread Wie kriege ich meinen Array aus der Funktion wieder raus ? (9 answers)
Opened by mzurhorst at 2012-04-12 00:13

pq
 2012-04-12 00:41
#157407 #157407
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
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: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Wie kriege ich meinen Array aus der Funktion wieder raus ?