Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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.

Geschrieben

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.

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...