Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Guten Morgen, kann das funktionieren oder muß ich jede mögliche Adresse einzeln anmelden? Irgendwie klappt das nämlich nicht und ich bin kein RegEx-Experte, um zu erkennen, ob die RegEx evtl. inkorrekt ist.
Code:
my $fenster_ga = m/3\/[0-4]\/\d[0-2]/;
$plugin_subscribe{$fenster_ga}{$plugname} = 1;
Ich glaub so wird das nichts.
Du könntest das ganze evtl. über eine foreach oder while-Schleife lösen. Die GA müsste aber auch erst wieder aus HG/MG/GA zusammengesetzt werden.
In der Zeit bis das steht hast Du die GAs in ein array getippt
Code:
my @fenster_ga = ("3/0/0","3/0/1","3/0/2","3/1/0","3/1/1","3/1/1");
foreach my $fenster (@fenster_ga)
{
$plugin_subscribe{$fenster}{$plugname} = 1;
}
Gruß
P.S.
Falls es doch einer mit ner RegEx kann wärs interessant. Wir lernen gerne .
Die RegEx dürfte soweit Ok sein, ABER das Hauptproblem dürfte sein, dass an der Stelle (Key im Hash) gar keine RegEx ausgewertet wird. Ich habe jetzt zwar gerade keine Zeit, in den wiregated zu schauen, aber das würde mich sehr wundern.
Im Prinzip wird beim »subscribe« nur jeweils eine GA (als Schlüssel/Key) in eine Hash-Struktur geschrieben. Beim Empfang der GAs werden (vermutlich) nur die Schlüssel durchgelaufen und auf »Gleichheit« bzw. »Vorhandensein« geprüft. Da niemals eine GA in Form deiner RegEx empfangen wird, dürfte der Eintrag auch nie aufgerufen werden.
Für eine RegEx-Lösung müsstest du dem wiregated beibringen, dass dein Plugin bei jeder GA aufgerufen wird und dann die GA mit der RegEx matchen. Das wäre aufgrund der dabei verbrauchten Rechenleistung aber wohl nicht vernünftig/sinnvoll.
Der Ansatz von JuMi2006 ist da sicher zielführender. Oder Alternativ könntest du die /etc/wiregate/eibga.conf einlesen und darauf deine RegEx anwenden, um dann jede passende GA wieder zu »subscriben«.
Ihr habt alle recht
1. Ich mag keine RE und das funktioniert so nicht (wie es gehen würde: ist mir ehrlichgesagt sekundär, weil wissenschaftlich interessant - aber praktisch irrelevant)
2. ein einfaches while/for aufn Array tuts ohne das es 27 Klammern mit Kopfschmerzen bereitet..
Folgendes tut es. (Ob es sinnvoll ist, sei mal dahingestellt...)
Code:
for my $ga (grep m!^3/[0-4]/\d[0-2]$!, keys %eibgaconf)
{
$plugin_subscribe{$ga}{$plugname} = 1;
}
VG, Fry
PS. Just for the record: ich liebe regexes. Zum Glueck sind Menschen alle verschieden...
PS2. Bitte dran denken: %eibgaconf ist seit PL 32 (oder so) mehrfach indiziert und enthält als keys nicht nur alle GAs, sondern auch alle Lang- und Kurznamen. Das bitte beim Pattern matching beachten!
PS. Just for the record: ich liebe regexes. Zum Glueck sind Menschen alle verschieden...
Eben, deswegen soll es jeder machen können wie er mag, ein zweizeiler
PS2. Bitte dran denken: %eibgaconf ist seit PL 32 (oder so) mehrfach indiziert
Guter Hinweis, erste Stolperfalle.. Aber nachdem die dahinterliegende Datenstruktur ein simpler Hash ist, mehrfaches subscriben also keine Rolle spielt - und man eh immer prüfen sollte, ob man nicht nur subscribed sondern auch angesprochen wurde, sollte es nur bei einem "Doppelfehler" in zwei Plugins zu einem Problem werden können..
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar