Generally speaking, you should be pretty darn safe querying production systems using SNMP, as long as you only 'get' using the read-only community string, and avoid 'set'ting anything using read-write or read-write-all community string. I suppose that if you tried really hard, you might be able to crash your access router, but I'm happily cluefree on possible details.
If you want a head start with your SNMP perlings, there are several working examples in the Networking Code section of Code Catacombs. I'm reasonably happy with some of my own code there: "(code) Net::SNMP, Bandwidth, GnuPlot, PNG, PostScript, Excel" and "(code) Net::SNMP, table-ish interface stats" plus "Cisco SNMP CDP Poll" as well as "(code) mind your snmPs & Qs".
striving toward Perl Adept
(it's pronounced "why-bick")
Update: here's a few URLs that may be of interest:
have you considered using MRTG?
King of Laziness, Wizard of Impatience, Lord of Hubris
I have used MRTG for showing statistics on the CISCO switches however management wants a more detailed report then MRTG provides ( taking serveral different MIBS to determine # of calls, # of bad calls, dropped calls, etc... then query the CAS(conditional access system) database to see if errors in the command stream are related to call-collector problems.) but I think i will look at it to see if it would benefit some other aspect of the process.
Thanks for your reply,