#!/usr/bin/perl use strict; use warnings; use JSON; use Getopt::Long; use File::Which; my $mpath = 1; my $pretty = 0; my $json = []; GetOptions( "mpath" => \$mpath, "pretty" => \$pretty ); my $multipath = which('multipath'); if (not defined $multipath){ print to_json($json, { pretty => $pretty }); exit 0; } my @dev = qx($multipath -l -v1); # If command failed (eg no /etc/multipath.conf), then return an empty result if ($? ne 0){ print to_json($json, { pretty => $pretty }); exit 1; } foreach (@dev){ chomp; push @{$json}, { '{#MPATH_DEV}' => $_ }; } print to_json($json, { pretty => $pretty }); exit 0;