norman: ohne hash: zwei arrays sortieren

juten tach,

ich möchte zwei arrays in abhängigkeit voneinander sortieren

@array1 = ("b+@ r","a?!")
@array2 = (2,5)

ergebnis:
@array1 = ("a?!","b+@ r")
@array2 = (5,2)

sortiert werden soll nach @array1. mit nem hash ist das ja leider nicht zu lösen.

hat jemand eine idee?

danke
norman

  1. Hallo,

    ja, in einem Hash liegen alle Wertepaare kreuz und quer und man
    hat keine Ahnung wie die Reihenfolge ist.
    Wäre es nicht möglich doch zuerst einen Hash zu definieren:

    %hash = ( b+@ r  => 2, a?! => 5);

    und dann die Schlüssel-Werte-Paare in einer foreach-Schleife zu durchsuchen und diese nach speziellen Kriterien abzufragen, um sie dann gesonder in ein Array zu schreiben (in einer speziellen Reihenfolge)???

    Den Schlüssel kann man mit keys und den Wert mit values abfragen.

    Ich hoffe Du weißt das nicht schon alles und vielleicht bist Du
    auch ein Profi in Sachen Perlprogrammierung? Für mehr Hilfe frag mich einfach nochmal oder auch bei Verständnisschwierigkeiten bzgl.
    meines Beitrages. Vielleicht habe ich aber am Thema vorbeigeredet?

    Gruß
    Johannes

    juten tach,

    ich möchte zwei arrays in abhängigkeit voneinander sortieren

    @array1 = ("b+@ r","a?!")
    @array2 = (2,5)

    ergebnis:
    @array1 = ("a?!","b+@ r")
    @array2 = (5,2)

    sortiert werden soll nach @array1. mit nem hash ist das ja leider nicht zu lösen.

    hat jemand eine idee?

    danke
    norman

    1. hi johannes!

      die keys (@array1 = ("a?!","b+@ r")) nach denen ich sortieren möchte, unterliegen doch -denke ich zumindest- deklarationkriterien: keine sodnerzeichen usw., so dass die hash-lösung rausfällt.

      mfg
      norman

      Hallo,

      ja, in einem Hash liegen alle Wertepaare kreuz und quer und man
      hat keine Ahnung wie die Reihenfolge ist.
      Wäre es nicht möglich doch zuerst einen Hash zu definieren:

      %hash = ( b+@ r  => 2, a?! => 5);

      und dann die Schlüssel-Werte-Paare in einer foreach-Schleife zu durchsuchen und diese nach speziellen Kriterien abzufragen, um sie dann gesonder in ein Array zu schreiben (in einer speziellen Reihenfolge)???

      Den Schlüssel kann man mit keys und den Wert mit values abfragen.

      Ich hoffe Du weißt das nicht schon alles und vielleicht bist Du
      auch ein Profi in Sachen Perlprogrammierung? Für mehr Hilfe frag mich einfach nochmal oder auch bei Verständnisschwierigkeiten bzgl.
      meines Beitrages. Vielleicht habe ich aber am Thema vorbeigeredet?

      Gruß
      Johannes

      1. Wie Recht Du doch hast Christoph!
        In Deinem Beispiel geht es doch aber nicht in Wirklichkeit nur
        um 2 Arrayeinträge, oder?

        hi johannes!

        die keys (@array1 = ("a?!","b+@ r")) nach denen ich sortieren möchte, unterliegen doch -denke ich zumindest- deklarationkriterien: keine sodnerzeichen usw., so dass die hash-lösung rausfällt.

        mfg
        norman

        Hallo,

        ja, in einem Hash liegen alle Wertepaare kreuz und quer und man
        hat keine Ahnung wie die Reihenfolge ist.
        Wäre es nicht möglich doch zuerst einen Hash zu definieren:

        %hash = ( b+@ r  => 2, a?! => 5);

        und dann die Schlüssel-Werte-Paare in einer foreach-Schleife zu durchsuchen und diese nach speziellen Kriterien abzufragen, um sie dann gesonder in ein Array zu schreiben (in einer speziellen Reihenfolge)???

        Den Schlüssel kann man mit keys und den Wert mit values abfragen.

        Ich hoffe Du weißt das nicht schon alles und vielleicht bist Du
        auch ein Profi in Sachen Perlprogrammierung? Für mehr Hilfe frag mich einfach nochmal oder auch bei Verständnisschwierigkeiten bzgl.
        meines Beitrages. Vielleicht habe ich aber am Thema vorbeigeredet?

        Gruß
        Johannes

        1. Äh, ich meine Norman

          Wie Recht Du doch hast Christoph!
          In Deinem Beispiel geht es doch aber nicht in Wirklichkeit nur
          um 2 Arrayeinträge, oder?

          hi johannes!

          die keys (@array1 = ("a?!","b+@ r")) nach denen ich sortieren möchte, unterliegen doch -denke ich zumindest- deklarationkriterien: keine sodnerzeichen usw., so dass die hash-lösung rausfällt.

          mfg
          norman

          Hallo,

          ja, in einem Hash liegen alle Wertepaare kreuz und quer und man
          hat keine Ahnung wie die Reihenfolge ist.
          Wäre es nicht möglich doch zuerst einen Hash zu definieren:

          %hash = ( b+@ r  => 2, a?! => 5);

          und dann die Schlüssel-Werte-Paare in einer foreach-Schleife zu durchsuchen und diese nach speziellen Kriterien abzufragen, um sie dann gesonder in ein Array zu schreiben (in einer speziellen Reihenfolge)???

          Den Schlüssel kann man mit keys und den Wert mit values abfragen.

          Ich hoffe Du weißt das nicht schon alles und vielleicht bist Du
          auch ein Profi in Sachen Perlprogrammierung? Für mehr Hilfe frag mich einfach nochmal oder auch bei Verständnisschwierigkeiten bzgl.
          meines Beitrages. Vielleicht habe ich aber am Thema vorbeigeredet?

          Gruß
          Johannes

        2. na ja, sind arrays die geordnet werden sollen.

          array1 = ([.,.,.],[.,.,.]);
          array2 = (2,5);

          ist aber das gleiche problem, die inhalte des array1 sind uninteressant, da die speicheradressen (oder so ähnlich: ARRAY(0x8210f48) ) geordnet werden.

          norman

          Wie Recht Du doch hast Christoph!
          In Deinem Beispiel geht es doch aber nicht in Wirklichkeit nur
          um 2 Arrayeinträge, oder?

      2. Hallo,

        die keys (@array1 = ("a?!","b+@ r")) nach denen ich sortieren möchte, unterliegen doch -denke ich zumindest- deklarationkriterien: keine sodnerzeichen usw., so dass die hash-lösung rausfällt.

        Wer sagt sowas?

        %hash = ( "b+@ r"  => 2, "a?!" => 5);

        foreach $x (sort keys %hash)
         {
         print "$x = $hash{$x}\n";
         }

        ach ja: http://learn.to/quote bzw. </faq/#Q-09>

        Grüße
          Klaus

  2. Hi,

    ich möchte zwei arrays in abhängigkeit voneinander sortieren
    [...] mit nem hash ist das ja leider nicht zu lösen.

    http://forum.de.selfhtml.org/archiv/1998_4/t00940.htm#a3802

    Viele Grüße
    Torsten