mr_kaktus Geschrieben 19. Dezember 2006 Teilen Geschrieben 19. Dezember 2006 Hi @all, kann mir jemand erklären was hier schief läuft? Ich öffne mit perl eine Datei mit dem DateiHandle USERLIST, lass sie über eine eine foreach-Schleife laufen, greife mir bestimmte Zeilen und fülle damit ein List-Array @dn_einzel. Wenn ich mit dem List-Array weiter arbeiten will, dann ist dieser leer? my @dn_einzel; # List-Array definieren foreach (<USERLIST>){ @dn_einzel=grep(/^dn:/,$_); } print @dn_einzel; Wenn ich mir aber die Variable innerhalb der schleife ausgeben lasse, dann funkt das:my @dn_einzel; # List-Array definieren foreach (<USERLIST>){ @dn_einzel=grep(/^dn:/,$_); print @dn_einzel; } Kann mir mal jemand erklären wie das kommt? Ich habe doch die Variable außerhalb der schleife definiert, warum kann ich jetzt nur innerhalb der Schleife darauf zugreifen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Aiun Geschrieben 19. Dezember 2006 Teilen Geschrieben 19. Dezember 2006 definier das Array mal vor dem Foreach und fülle es nur innerhalb. Ich kenne mich mit Perl jetzt nicht so aus, aber möglich das die Variable eben nur innerhalb des Foreach-Namespace existiert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mr_kaktus Geschrieben 19. Dezember 2006 Autor Teilen Geschrieben 19. Dezember 2006 Danke für den Tipp. Ich hab es jetzt hinbekommen: foreach (<USERLIST>){ push @dn_einzel, grep(/^dn:/,$_); } Ich musste das Array füllen und ich dachte das würde Automatisch passieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.