#!/usr/bin/perl
use strict;
use NetSNMP::ASN;
use POE::Component::NetSNMP::agent;


use constant {
    BASE_OID    => ".1.3.6.1.4.1.32272",
};

my $agent = POE::Component::NetSNMP::agent->new(
    AgentX      => 1,
    AutoHandle  => BASE_OID,
    AutoUpdate  => [[ \&update_tree, 30 ]],
);

$agent->run;

sub update_tree {
    my ($self) = @_;

    # add one OID entry
    $self->add_oid_entry(BASE_OID.".1", ASN_OCTET_STR, "hello");

    # add several OID entries at once
    $self->add_oid_tree({
        BASE_OID.".2" => [ ASN_INTEGER, 42 ],
        BASE_OID.".3" => [ ASN_COUNTER, 1873541 ],
        BASE_OID.".4" => [ ASN_GAUGE, 235 ],
    });
}