#!/usr/bin/perl # Batch EXecutor -- List Machines and Groups # (c) 2011-2019 Martin Mares use strict; use warnings; use Getopt::Long; use BEX; my $edit; my $queue_name; sub usage() { print <] [[!] ...] Options: --groups List groups instead of machines None defined so far. AMEN exit 0; } my $groups; GetOptions( "help" => \&usage, "groups!" => \$groups, ) or die "Try `bex mach --help' for more information.\n"; my $machines = \%BEX::Config::machines; if ($groups) { !@ARGV or die "bex mach --groups accepts no positional arguments.\n"; for my $h (sort keys %$machines) { my $m = $machines->{$h}; ref $m eq 'ARRAY' or next; print "$h = ", join(" ", map { my $x = $machines->{$_}; !defined($x) ? "$_?" : ref $x eq 'HASH' ? $_ : ref $x eq 'ARRAY' ? "\@$_" : "$_???" } @$m), "\n"; } } elsif (@ARGV) { my @machines = BEX::Config::parse_machine_list(@ARGV); for my $m (sort @machines) { print "$m\n"; } } else { for my $h (sort keys %$machines) { my $m = $machines->{$h}; ref $m eq 'HASH' or next; print "$h\n"; } }