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