I have several PERL scripts that use Net::Telnet::Cisco, but security concerns dictate that we use only ssh on our newer systems. As I am mostly using ActiveState PERL for Win32, I tried the Win32 version of Net::SSH. But this is unreliable on Cisco systems.
I have had more success wrapping scripts around the Putty plink.exe for ssh cli. The one thing I can't seem to do is get to privileged mode. I had once used Expect, but I am more comfortable with PERL that TCL. I have not yet found a scriptable way to respond to the enable password prompt.