bernd: mehrfache listen-einträge

hallo zusammen!
ich möchte gerne mehrfache einträge aus einer liste (array) herausfiltern und habe fast das gefühl, dass es dafür einen einfachen ansatz geben könnte, kriege aber den richtigen dreh nicht:
grep ist leider nur die halbe miete- es listet die doppelten einträge zwar hübsch auf, arbeitet aber anscheinend nicht destruktiv, weswegen sich die einträge hinterher immer noch in der liste befinden.
da wäre splice genau das richtige, aber es erwartet index-nummern und im mir vorliegenden schrifttum kann ich leider nichts finden, was es ermöglichen würde, diese beliebig auszulesen.
hat zufällig jemand von euch einen tipp, was zu tun wäre?

greetings
bernd

  1. hallo zusammen!
    ich möchte gerne mehrfache einträge aus einer liste (array) herausfiltern und habe fast das gefühl, dass es dafür einen einfachen ansatz geben könnte, kriege aber den richtigen dreh nicht:
    hat zufällig jemand von euch einen tipp, was zu tun wäre?

    Ja, evtl. hilft dir ein Hash slice

    my @liste = qw/a b b c d e f g a/;

    my %hash;

    @hash{@liste} = ();

    print keys %hash;

    Struppi.

    1. hi struppi,
      die sache mit dem hash hat so ihre eigenheiten in meinem fall hier, weswegen ich das bislang umgehen wollte. aber du hast recht, mangels alternativen muss ich mich wohl doch mal damit befassen.

      besten dank
      bernd

      1. hi struppi,
        die sache mit dem hash hat so ihre eigenheiten in meinem fall hier, weswegen ich das bislang umgehen wollte. aber du hast recht, mangels alternativen muss ich mich wohl doch mal damit befassen.

        naja, du kanst ja direkt wieder ein Array draus machen, da deine gesuchten Werte ja die keys sind.

        @hash{@array} = 1;

        @array = keys %hash;

        Struppi.