in reply to download as txt and pdf
You're not downloading anything in this case, you're simply printing to your local console the output of a remote device (a Cisco network device, apparently). I've reformatted your code below (so it's easier to read/follow), and added a couple of things that will write your output to a file named "output.txt". Note that this code is untested:
use strict; use warnings; use Net::Ping; use Net::SSH2; my $output_file = 'output.txt'; my $ssh = Net::SSH2->new(); my $username="username"; my $password="password"; my $ip_address = ("ipadderss"); my $ping= Net::Ping->new(); if($ping->ping($ip_address)){ if($ssh->connect($ip_address)){ if($ssh->auth_password($username,$password)){ my $chan = $ssh->channel(); $chan->blocking(1); $chan->shell(); $chan->write("terminal length 0\n"); $chan->write("show cdp neighbor \n"); # open the output file in overwrite mode # (use '>>' if you want to append instead) open my $wfh, '>', $output_file or die $!; while (<$chan>) { # instead of printing to the console, print # to the file handle instead print $wfh $_ if /\bterminal length\b/i .. /^\n*$/ ; } } else { print "auth failed"; } } } else { print "not pinging"; }
update: added the default var after the print to the file handle, per Re^3: download as txt and pdf.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: download as txt and pdf
by ajaykannan (Novice) on Dec 01, 2016 at 18:16 UTC | |
by stevieb (Canon) on Dec 01, 2016 at 19:14 UTC | |
by ajaykannan (Novice) on Dec 01, 2016 at 21:17 UTC | |
by stevieb (Canon) on Dec 01, 2016 at 21:33 UTC | |
by ajaykannan (Novice) on Dec 01, 2016 at 21:32 UTC |