MeierH.: Arrays!

Hey Leute,
Ich bin neu in Perl (Seit heute) ^^
Wenn ich ein Array mache: 'my @GA = ("GA1", "GA2");'
Doch wie könnte ich nachträglich nun noch ein paar GA's hinzufügen OHNE, dass die alten verloren gehen?
PHP gehts ja ganz eifach: $bla[] = $bla["BLA"];
Doch wie schreib ich das in Perl um?

Danke und Gruss

  1. Moin.

    Suchst Du push?

    Gruß Frank

  2. Ich bin neu in Perl (Seit heute) ^^

    Dann sei dir perldoc nahe gelegt. Du findest sie auch bei dir auf der Festplatte. Wenn du ActiveState Perl benutzt sind auch alle Dokumente als html Dateien vorhanden unter [Perlverzeichniss]/html

    Wenn ich ein Array mache: 'my @GA = ("GA1", "GA2");'

    Du arbeitest mit strict das ist schon mal ein guter Anfang.

    Doch wie könnte ich nachträglich nun noch ein paar GA's hinzufügen OHNE, dass die alten verloren gehen?
    PHP gehts ja ganz eifach: $bla[] = $bla["BLA"];

    normalerweise existiert in vielen Programiersprachen die Funktionen push und pop darüber hinaus in Perl auch shift und unshift (s. Doku)

    Struppi.

    1. Hi,

      Wenn ich ein Array mache: 'my @GA = ("GA1", "GA2");'
      Du arbeitest mit strict das ist schon mal ein guter Anfang.

      Ein guter weiterer Schritt wäre noch, die Strings in einfache statt doppelte Anführungszeichen zu setzen, falls du keine Variablen reininterpolieren willst (also sowas wie print "Es ist jetzt $uhrzeit";).
      Das erspart dir einige potenzielle Fehlerquellen und nerviges Maskieren von Sonderzeichen.

      Also:

      my @GA = ('GA1', 'GA2');

      HTH

      Margin-Auto

      1. Ein guter weiterer Schritt wäre noch, die Strings in einfache statt doppelte Anführungszeichen zu setzen, falls du keine Variablen reininterpolieren willst (also sowas wie print "Es ist jetzt $uhrzeit";).
        Das erspart dir einige potenzielle Fehlerquellen und nerviges Maskieren von Sonderzeichen.

        Also:

        my @GA = ('GA1', 'GA2');

        und zu allem Überdruss hat Perl noch einige nützliche Dinge zum Listenbilden parat:

        z.b. in dem Falle:

        my @GA = qw(GA1 GA2);
        (geht so, natürlich nur wenn die Werte keine Leerzeichen enthalten.)

        Struppi.

  3. Ja!
    Danke euch vielmals!