]> git.vpit.fr Git - perl/scripts/xchat.git/blobdiff - opers.pl
A cleaner idiom for "get the list of connected servers"
[perl/scripts/xchat.git] / opers.pl
index 875abc9e63910213abd32ffce06082b96d62a67b..87a01c42d1b7c5e8bfa5e3d4b0b7ae011f9bda9c 100755 (executable)
--- a/opers.pl
+++ b/opers.pl
@@ -51,9 +51,9 @@ hook_server '352', sub {
 };
 
 hook_print 'Disconnected', sub {
- my %servers = map { $_->{server} => 1 }
-                grep { $_->{flags} & 9 and not($_->{flags} & 2) }
-                 get_list 'channels';
+ my %servers;
+ $servers{$_->{server}} = 1 for grep +($_->{flags} & 0b1011) == 0b1001,
+                                 get_list 'channels';
 
  delete @opers{grep !$servers{$_}, keys %opers};