Development of Net::CLI::Interact Perl distribution
Perl Perl6
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/Net/CLI release 2.200006 Sep 30, 2016
t * [#14] Allow square brackets in bash prompts (M. Perry) Nov 3, 2014
.gitignore ignoring MANIFEST Jul 1, 2015
Changes [#21] session debug is always output (arcanez) Sep 30, 2016
MANIFEST.SKIP fix manifest skip Jan 6, 2015
META.yml release 2.200006 Sep 30, 2016
Makefile.PL
README.md
dist.ini release 2.200000 Jan 6, 2015

README.md

Net::CLI::Interact - Toolkit for CLI Automation

Automating command line interface (CLI) interactions is not a new idea, but can be tricky to implement. This module aims to provide a simple and manageable interface to CLI interactions, supporting:

  • SSH, Telnet and Serial-Line connections
  • Unix and Windows support
  • Reuseable device command phrasebooks

If you're a new user, please read the Tutorial. There's also a Cookbook and a Phrasebook Listing.

Installation

Using cpanm:

cpanm Net::CLI::Interact

Or manually, from the source:

perl Makefile.PL
make test && make install

Example Usage

    use Net::CLI::Interact;

    my $s = Net::CLI::Interact->new({
        personality     => 'cisco',
        transport       => 'Telnet',
        connect_options => { host => '192.0.2.1' },
    });

    # respond to a usename/password prompt
    $s->macro('to_user_exec', {
        params => ['my_username', 'my_password'],
    });

    my $interfaces = $s->cmd('show ip interfaces brief');

    $s->macro('to_priv_exec', {
        params => ['my_password'],
    });
    # matched prompt is updated automatically

    # paged output is slurped into one response
    $s->macro('show_run');
    my $config = $s->last_response;

For a more complete worked example check out the Net::Appliance::Session distribution, for which this module was written.

For more information on the API, please check out Net::CLI::Interact's complete documentation on CPAN.

Copyright and License

This software is copyright (c) 2014-2015 by Oliver Gorwits.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.