Veröffentlicht 13. Januar 200619 j 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
13. Januar 200619 j @content = open_dir(...); print $content[0]; print $content[1]; $length = @content; for($i = 0; $i < $length; $i++) { print $content[$i]; }
16. Januar 200619 j 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...
16. Januar 200619 j 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
16. Januar 200619 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.