You might want to look at Net::Appliance::Session, looks like it may be what you want these days. Ages ago when I went from Telnet to SSH on Cisco devices, I tried to patch up Net::Telnet::Cisco to work with SSH and gave up in utter frustration.
I ended up using Expect and regular ssh external command. That basic sub-class of Expect has worked quite well over the years for all sorts of devices Cisco, Foundry, Juniper, etc.
It looks like Net::Appliance::Session supports Telnet/SSH and has sub-classes for various devices. I might take a look at it, but my Expect version ain't broke :)