Anzeige:
Ergebnis 1 bis 6 von 6

Thema: [Gtk2/perl] bug in meiner bugbehebung

  1. #1
    Registrierter Benutzer
    Registriert seit
    04.07.2006
    Ort
    Herne
    Beiträge
    71

    [Gtk2/perl] bug in meiner bugbehebung

    hab in meinem script das problem das ein array manchmal leer sein kann
    und das mag das script irgendwie nicht so gerne
    nun dachte ich das:
    Code:
    if (@BLACKLIST == m//)
    {
      my $list_item = Gtk2::ListItem->new ("keine Einträge vorhanden");
      $list1->add($list_item);
      $list_item->show;
    }
    ja das problem lösen sollte (ok danach ist der array gefüllt,aber der bug tritt weiter auf)
    Code:
    Use of uninitialized value in pattern match (m//) at /home/chakotay/.xchat2/Z-SCRIPT/Z-Blacklist.pl line 190.
    wie kann ich der problem elegand aus dem weg räumen ?
    Geändert von Chakotay (13-11-2006 um 08:11 Uhr)

  2. #2
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    Das Problem ist wohl eher, wie Du das Array auf Einträge abfragst, nämlich indem Du mit einem leeren RE-Suchstring suchen willst.

    Code:
    if (@array)
           {#array hat einträge
           }
    So ist das etwas eleganter.

    (oder bei der Negation einfach unless statt if)

  3. #3
    Registrierter Benutzer
    Registriert seit
    04.07.2006
    Ort
    Herne
    Beiträge
    71
    danke :-)
    unless hats behoben

    ich sags ja immer wieder (if's sind mir ein rätzel) auch wenn if diesmal falsch war^^

  4. #4
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    Gegangen wäre aber auch:
    Code:
    if (not (@array))
        { #blah
        }
    Der Fehler lag aber an der Kombination RE und Array. nicht am if oder unless.

  5. #5
    Registrierter Benutzer
    Registriert seit
    04.07.2006
    Ort
    Herne
    Beiträge
    71
    hmm
    welches ist den das bessere ?
    if (not (@array))
    oder
    unless (@array)

  6. #6
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    Das ist wohl ganz nach Belieben. Ich hab zumindest noch nirgendwo gelesen, dass eine der beiden Umsetzungen (in den neuen Perl-Versionen) vom Laufzeitverhalten schneller wäre.

    Ich nehme unless selber nur, wenn eine einzelne Sache zu entscheiden ist, in länge if-elsif-else-Alien mische ich kein unless rein, dann blicke ich selber nichtmehr durch.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •