in reply to ASN.1 errors with Net::SNMP?

You're missing a comma:

($s, $e) = Net::SNMP->session( -hostname => $router,
^

Once you've fixed that error, the second should go away; you could have caught this by checking that the call to the constructor worked.