http://qs1969.pair.com?node_id=446847


in reply to Re: replace a line when regex match...
in thread replace a line when regex match...

Yes. This is what I am looking for. This is what I have so far; what I am trying to do is log into several remote host and check for an existing entry, and change the whole line. If one does not exist then add it to the file.
#!/usr/bin/perl -w use strict; use Net::SSH::Perl; my $rcmd = " perl -e 'use strict; open(FD, filetochange.txt) or die \"can n +ot open FD: $!\"; while (<FD>) { if (/mon/ && /messages/) { print $_; #change line here } } close(FD); '"; my $ssh = Net::SSH::Perl->new('localhost', protocol=>('2,1')); $ssh->login('joe1','blabla'); my($stdout, $stderr, $exit) = $ssh->cmd("$rcmd"); print $stdout;
But I am getting this error:
Use of uninitialized value in concatenation (.) or string at ./hash_ms +gstab.pl line 6
Any idea? or does some one have a better idea of loging into a remote box and running an inline script on it? Thanks.