There is a mixture of coding styles there. Some good, some bad:
In many places you test if (!defined $match) { after using (the possibly undefined) $match in earlier tests. Check that the order of your tests makes sense.
An if that ends in a return doesn't need an else. Instead:
if (...) { ... return; } ... # "else" stuff
In many places you print to stdout and to a log file. Why not have a log sub that prints to both?
Don't put the loop body on the same line as the loop statement. The loop construct as a statement modifier is ok though:
while (<$channel>) {push @output, $_} #becomes push @output, $_ while <$channel>; #although my @output = <$channel>; #is even better
for my $i (@show_inventory) { my $inv_line1 = shift @show_inventory; my $inv_line2 = shift @show_inventory;
is plain wrong. Maybe you meant:
while (@show_inventory) { my $inv_line1 = shift @show_inventory; my $inv_line2 = shift @show_inventory;
In reply to Re: Could you suggest improvements to my Cisco network device audit script?
by GrandFather
in thread Could you suggest improvements to my Cisco network device audit script?
by monkerz57
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |