X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Fdx.pl;h=fecf16fc1dfdeebf69f62fc6555d9e6a0e525e2b;hb=1444521e066e02651bcb1827ae0ea643b4728b44;hp=c98699969ad095cc4518eab077ee5bf936009821;hpb=8942c27356acc5d5f5a20134461bcf7e6bd6a044;p=spider.git diff --git a/cmd/show/dx.pl b/cmd/show/dx.pl index c9869996..fecf16fc 100644 --- a/cmd/show/dx.pl +++ b/cmd/show/dx.pl @@ -18,6 +18,7 @@ my $pre; my $spotter; my $info; my $expr; +my $doqsl; while ($f = shift @list) { # next field # print "f: $f list: ", join(',', @list), "\n"; @@ -56,6 +57,10 @@ while ($f = shift @list) { # next field $spotter = uc shift @list; next; } + if (lc $f eq 'qsl') { + $doqsl = 1; + next; + } if (!$pre) { $pre = uc $f; } @@ -63,14 +68,9 @@ while ($f = shift @list) { # next field # first deal with the prefix if ($pre) { - $expr = "\$f1 =~ /"; - $pre =~ s|/|\\/|; # change the slashes to \/ - if ($pre =~ /^\*/o) { - $pre =~ s/^\*//;; - $expr .= "$pre\$/o"; - } else { - $expr .= "^$pre/o"; - } + $pre .= '*' unless $pre =~ /[\*\?\[]/o; + $pre = shellregex($pre); + $expr = "\$f1 =~ m{$pre}o"; } else { $expr = "1"; # match anything } @@ -90,15 +90,21 @@ if (@freq) { # any info if ($info) { $expr .= " && " if $expr; - $info =~ s|/|\\/|; - $expr .= "\$f3 =~ /$info/io"; + $info =~ s{(.)}{"\Q$1"}ge; + $expr .= "\$f3 =~ m{$info}io"; } # any spotter if ($spotter) { $expr .= " && " if $expr; - $spotter =~ s|/|\\/|; - $expr .= "\$f4 =~ /$spotter/o"; + $spotter = shellregex($spotter); + $expr .= "\$f4 =~ m{$spotter}o"; +} + +# qsl requests +if ($doqsl) { + $expr .= " && " if $expr; + $expr .= "\$f3 =~ m{(QSL|VIA)}io"; } #print "expr: $expr from: $from to: $to fromday: $fromday today: $today\n";