NAME
    SNMP::Simple - shortcuts for when using SNMP

SYNOPSIS
        use SNMP::Simple;

        $name     = $s->get('sysName'); # same as sysName.0
        $location = $s->get('sysLocation');

        @array    = $s->get_list('hrPrinterStatus');
        $arrayref = $s->get_list('hrPrinterStatus');

        @list_of_lists = $s->get_table( qw(
            prtConsoleOnTime
            prtConsoleColor
            prtConsoleDescription
        ) );

        @list_of_hashes = $s->get_named_table(
            name   => 'prtInputDescription',
            media  => 'prtInputMediaName',
            status => 'prtInputStatus',
            level  => 'prtInputCurrentLevel',
            max    => 'prtInputMaxCapacity',
        );

DESCRIPTION
  Goal
    The goal of this module is to provide shortcuts and provide a cleaner
    interface for doing repetitive information-retrieval tasks with SNMP
    version 1.

  SNMP Beginners, read me first!
    Please, please, please do not use this module as a starting point for
    working with SNMP and Perl. Look elsewhere for starting resources:

    * The SNMP module
    * The Net-SNMP web site (<http://www.net-snmp.org/>) and tutorial
    (<http://www.net-snmp.org/tutorial-5/>)
    * Appendix E of Perl for System Administration
    (<http://www.amazon.com/exec/obidos/tg/detail/-/1565926099>) by David N.
    Blank-Edelman

  SNMP Advanced and Intermediate users, read me first!
    I'll admit this is a complete slaughtering of SNMP, but my goals were
    precise. If you think SNMP::Simple could be refined in any way, feel
    free to send me suggestions/fixes/patches.

    I'm trying to provide shortcuts, not abstract. My purpose in providing
    this is so one can write:

        $data{lights} = $s->get_named_table(
            status => 'prtConsoleOnTime',
            color  => 'prtConsoleColor',
            name   => 'prtConsoleDescription',
        );

    Instead of the following, give or take a little refining:

        $vars = new SNMP::VarList(
            ['prtConsoleOnTime'],
            ['prtConsoleColor'],
            ['prtConsoleDescription'],
            );
        my ($light_status, $light_color, $light_desc) = $s->getnext($vars);
        die $s->{ErrorStr} if $s->{ErrorStr};
        while ( !$s->{ErrorStr} and $$vars[0]->tag eq "prtConsoleOnTime" ) {
            push @{ $data{lights} }, {
                status => ($light_status ? 0 : 1),
                color  => &SNMP::mapEnum($$vars[1]->tag, $light_color),
                description => $light_desc,
            };
            ($light_status, $light_color, $light_desc) = $s->getnext($vars);
        }

TODO
    Among other things,

    * tests
    * make it smarter when using SNMPv2 and SNMPv3

AUTHOR
    Ian Langworth <langworth.com>

SEE ALSO
    SNMP