piet: perl, Rückgabe Funktion mit Array

Hallo,

ich habe eine Funktion, die mir ein Array zurück gibt. Hier brauche ich nur ein Feld.

z.B.

my @Filter = &meineFunktion('Strassenname');
my $brauche_ich = $Filter[4];

Kann ich eine Zeile Anweisung sparen und gezielt aus der Funktion das Array[4] lesen ??

so eine Art:

my $brauche_ich = $(&meineFunktion('Strassenname'))[4];

Geht so etwas überhaupt ?

Danke
  1. Moin piet,

    ich habe eine Funktion, die mir ein Array zurück gibt. Hier brauche ich nur ein Feld.

    z.B.

    my @Filter = &meineFunktion('Strassenname');
    my $brauche_ich = $Filter[4];
    

    Kann ich eine Zeile Anweisung sparen und gezielt aus der Funktion das Array[4] lesen ??

    so eine Art:

    my $brauche_ich = $(&meineFunktion('Strassenname'))[4];
    

    Geht so etwas überhaupt ?

    Was hast du denn schon ausprobiert? Kannst du meineFunktion ändern oder ist das eine Funktion aus einem fremden Package? Wenn die Funktion statt des Arrays eine Array-Referenz zurückgibt …

    Viele Grüße
    Robert

    1. Hallo Robert,

      die Funktion kann ich nicht ändern.

      Probiert habe ich noch nicht viel, da ich überhaupt keinen Ahnung habe, wie so etwas "syntaxtechnisch" aussehen könnte ;-)

      Gruß piet

      1. Moin Piet,

        die Funktion kann ich nicht ändern.

        Schade 😉

        Probiert habe ich noch nicht viel, da ich überhaupt keinen Ahnung habe, wie so etwas "syntaxtechnisch" aussehen könnte ;-)

        Dann empfehle ich mal mehr Perl zu lernen.

        Viele Grüße
        Robert

    2. my $brauche_ich = $(&meineFunktion('Strassenname'))[4];
      

      Geht so etwas überhaupt ?

      Was hast du denn schon ausprobiert? Kannst du meineFunktion ändern oder ist das eine Funktion aus einem fremden Package? Wenn die Funktion statt des Arrays eine Array-Referenz zurückgibt …

      For the record:

      sub meineFunktion {
              [1, 'zwei', 3, 'vier', 'fünf']
      }
      
      print meineFunktion()->[4], "\n";
      print &meineFunktion->[4], "\n";