X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2Fshowdx;fp=perl%2Fshowdx;h=9af8f41bcfba489681c86419da5a12e819bf964f;hb=8b68c016b1907375bfad28d762daa49df7b93f5d;hp=0000000000000000000000000000000000000000;hpb=035de21c0d81fd20d0fc0cee41cfd811663a3660;p=spider.git diff --git a/perl/showdx b/perl/showdx new file mode 100755 index 00000000..9af8f41b --- /dev/null +++ b/perl/showdx @@ -0,0 +1,53 @@ +#!/usr/bin/perl +# +# Implement an external "show/dx" command +# +# Copyright (c) 1998-2000 Dirk Koopman G1TLH +# +# $Id$ +# + +# search local then perl directories +BEGIN { + # root of directory tree for this system + $root = "/spider"; + $root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'}; + + unshift @INC, "$root/perl"; # this IS the right way round! + unshift @INC, "$root/local"; +} + +use IO::Handle; +use DXUtil; +use Bands; +use Spot; + +$dxdir = "/spider/cmd/show"; +$dxcmd = "dx.pl"; +$s = readfilestr($dxdir, $dxcmd); +$dxproc = eval "sub { $s }"; +die $@ if $@; + +STDOUT->autoflush(1); +Spot::init(); +Bands::load(); + +$expr = join ' ', @ARGV if @ARGV; + +for (;;) { + if ($expr) { + $myexpr = $expr; + } else { + print "show/dx: "; + $myexpr = ; + last unless defined $myexpr; + chomp $myexpr; + last if $myexpr =~ /^q$/i; + } + my @out = map {"$_\n"} &$dxproc({priv=>0,call=>'GDX'}, $myexpr); + shift @out; # remove return code + print @out; + last if $expr; +} +exit(0); +