use SNMP::Multi;
use Data::Dump qw(dump);
+use File::Path;
-my $dir = 'json/printer';
+my $dir = 'conf/ip';
use JSON;
sub save_json {
my ( $path, $json ) = @_;
- $path = "$dir/$path";
- open(my $fh, '>', $path);
+ mkpath "$dir/$path" unless -d "$dir/$path";
+ $path = "$dir/$path/snmp-printer.json";
+ open(my $fh, '>', $path) || die "$path: $!";
print $fh encode_json $json;
close($fh);
warn "# $path ", -s $path, " bytes\n";
my $debug = $ENV{DEBUG} || 0;
my $community = 'public';
-my @printers = qw(
-10.60.0.20
-
-10.60.3.15
-10.60.3.17
-
-10.60.3.19
-10.60.3.21
-
-10.60.3.23
-10.60.3.25
-
-10.60.3.27
-10.60.3.29
-
-10.60.3.31
-10.60.3.33
-
-10.60.3.35
-10.60.3.37
-);
+my @printers = map { s{^conf/ip/([0-9\.]+)/.+$}{$1}; $_ } glob 'conf/ip/*/snmp-printer*';
@printers = @ARGV if @ARGV;