#!/usr/bin/perl use strict; use warnings; use Net::Appliance::Session; my @ipconadd = qw(1.1.1.1 2.2.2.2 3.3.3.3); foreach my $ip (@ipconadd) { print "Processing $ip:\n"; my $s = Net::Appliance::Session->new({ personality => 'ios', transport => 'SSH', host => $ip }); eval { $s->connect({ username => 'login', password => 'password' }); $s->begin_privileged({ password => 'verycoolbro' }); print $s->cmd('show hostname'); print $s->cmd('show inventory | i SN'); $s->end_privileged; $s->close; }; print "IP $ip done.\n"; }; if ($@) { warn "failed to execute command: $@"; }