#!/usr/bin/perl use strict; use warnings; use Net::Ping; use Net::SSH2; use PDF::API2; #************set pdf*************** my $save_pdf_as="mypdf.pdf"; # Create a blank PDF file my $pdf = PDF::API2->new(); # Add a blank page my $page = $pdf->page(); # Set the page size $page->mediabox('Letter'); # Add a built-in font to the PDF my $font = $pdf->corefont('Helvetica-Bold'); #************ssh module*************** my $ssh = Net::SSH2->new(); my $username="username"; my $password="password"; my $ip_address = ("ipaddress"); 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 ip interface brief \n"); my $text = $page->text(); $text->font($font, 20); $text->translate(200, 700); while (<$chan>) { if (/\bterminal length\b/i .. /^\n*$/) { print; $text->text($_); } } $pdf->saveas($save_pdf_as); } else { print "auth failed"; } } } else { print "not pinging"; }