SichlMichl Geschrieben 13. Januar 2006 Geschrieben 13. Januar 2006 Hallo Zusammen, ich habe ein kleines vllt. auch großes (dass kann ich noch nicht absehen :confused: ) Problem in Perl. Habe eine Subroutine, die mir einen Array zurück gibt. Ich möchte nun auf die einzelnen Teile des Returnwertes zugreifen. Nur leider weiß ich nicht, wie das machen muss Wäre super wenn mir da jemand Helfen könnte. Hier der Code: sub open_dir { #Variablendeklaration my @content = (); my $directory = shift; #Verzeichnis oeffnen opendir(DIR, $directory); #Inhalte des Verzeichnisses in ein Array speichern while(my $file = readdir(DIR)) { push(@content, $file); } #Verzeichnis schließen close(DIR); return @content; } print open_dir("d:\\test1"); Ich muss dazu sagen, dass ich noch ein Neuling in Sachen Perl bin Grüße Michl
Aiun Geschrieben 13. Januar 2006 Geschrieben 13. Januar 2006 @content = open_dir(...); print $content[0]; print $content[1]; $length = @content; for($i = 0; $i < $length; $i++) { print $content[$i]; }
SichlMichl Geschrieben 16. Januar 2006 Autor Geschrieben 16. Januar 2006 Danke erstmal für die Antwort, aber ich kann damit leider ned soviel anfangen. Könntest du des vllt. kurz erklären? Weil irgendwie trifft des nicht den Nerv meines Problems oder kann es nur nicht erkennen...
Carnie Geschrieben 16. Januar 2006 Geschrieben 16. Januar 2006 Du solltest dir in diesem Zusammenhang mal den Unterschied zwischen Skalare, Listen und Hashes anschauen. Der Link könnte dir helfen. http://web.dadanini.com:7980/books/Perl_in_21Tagen/Kap04.html
SichlMichl Geschrieben 16. Januar 2006 Autor Geschrieben 16. Januar 2006 Ich bin jetzt zufällig selbst über des Rätsels Lösung gestolpert. Folgendermaßen muss man es machen: my @versuch = open_dir("d:\\test1"); So kann ich jetzt jedes Teilelement, dass die Funktion open_dir() in dem Array @content speichert ganz einfach ansprechen, also mit print $versuch[0...n]; Trotzdem danke für euere Hilfe... Grüße Michl
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden