]> mj.ucw.cz Git - bex.git/blob - bls
bls: Added a new utility for listing known machines and group
[bex.git] / bls
1 #!/usr/bin/perl
2 # Batch EXecutor 2.0 -- List Machines and Groups
3 # (c) 2011 Martin Mares <mj@ucw.cz>
4
5 use strict;
6 use warnings;
7 use Getopt::Long;
8
9 use lib 'lib';
10 use BEX;
11
12 my $edit;
13 my $queue_name;
14
15 GetOptions(
16 ) && @ARGV == 0 or die <<AMEN ;
17 Usage: bjob [<options>]
18
19 Options:
20 None defined so far.
21 AMEN
22
23 my $machines = \%BEX::Config::machines;
24
25 print "# Hosts:\n";
26 for my $h (sort keys %$machines) {
27         my $m = $machines->{$h};
28         ref $m eq 'HASH' or next;
29         print "$h\n";
30 }
31
32 print "\n# Groups:\n";
33 for my $h (sort keys %$machines) {
34         my $m = $machines->{$h};
35         ref $m eq 'ARRAY' or next;
36         print "$h = ", join(" ",
37                 map {
38                         my $x = $machines->{$_};
39                         !defined($x) ? "$_?" :
40                         ref $x eq 'HASH' ? $_ :
41                         ref $x eq 'ARRAY' ? "\@$_" :
42                         "$_???"
43                 } @$m), "\n";
44 }