my %args = ( hostname => "router", version = "1" ); my $s = &create_snmp(\%args); sub create_snmp { my $args = shift; my %options; $options{hostname} = $args->{hostname}; $options{version} = $args->{version}; if ($args->{version} == "1") { $options{community} = "public"; } else { $options{username} = "v3user"; $options{password} = "v3pass"; } my $new_session = Net::SNMP->session(\%options); return $new_session; }