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

hlubenow
 2012-04-12 16:38
#157432 #157432
User since
2009-02-22
876 Artikel
BenutzerIn
[default_avatar]
2012-04-12T08:06:48 pq
2012-04-11T22:49:05 hlubenow
Wenn das ein Array von Array ist, mußt Du tatsächlich eine Referenz darauf zurückgeben.
Wenn es aber nur eine einfache Liste mit ein paar Verzeichnisnamen ist, kannst Du's auch "einfach so" zurückgeben:

das ist ja hier nicht das problem und macht auch keinen unterschied. die ausgabe per "" . @array . "" wird auch da nicht das gewünschte bringen. nur als kommentar.

Na ja, es ist schon einfacher, wenn er erstmal Referenzen vermeiden kann. Sieht hier doch so aus.
@mzurhorst: Ändere in Deiner Funktion doch einfach mal
Code (perl): (dl )
return (\@dirs);

zu
Code (perl): (dl )
return @dirs;

und Deine Ausgabe im Hauptteil zu
Code (perl): (dl )
1
2
3
4
5
my @changed_dirs = identify_changed_dirs();
print "Changed Directories:\n";
foreach my $i (@changed_dirs) {
    print "$i\n";
}

... und gemäß pq's Hinweis natürlich auch
Code (perl): (dl )
my @dirs = ();

Willst Du der Funktion eigentlich kein Argument für das zu prüfende Verzeichnis übergeben?
Sieh Dir ggf. auch mal das Modul "File::Find" an. Obwohl, wenn Du jeweils nur ein einziges Verzeichnis mit einer Unterebene untersuchen willst, ist "opendir()" usw. wahrscheinlich doch geeigneter.
Last edited: 2012-04-12 16:42:49 +0200 (CEST)

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