#!/usr/bin/perl -w use strict; use File::Which; use JSON; my $json; @{$json->{data}} = (); my $cli = which('hpacucli') || which('ssacli'); # hpacucli or ssacli utility is needed if (not defined $cli){ print to_json($json); exit(0); } open( CLI, "$cli controller all show status|" ) or die "An error occured while running $cli: $!"; foreach my $line (){ if ( $line =~ m/Another instance of hpacucli is running! Stop it first\./i ){ die "Another instance of hpacucli is running\n"; } elsif ( $line =~ m/(.*) in Slot (\d+)/i ) { push @{$json->{data}}, {"{#MODEL}" => $1, "{#SLOT}" => $2}; } } close CLI; print to_json($json); exit(0);