If tunnels are not forbidden in the intermediate host, you could use some SSH client (OpenSSH or plink from PuTTY) to create a tunnel from your local machine to the target device telnet port. Then, use
Net::Telnet to talk to the remote machine through the tunnel.
If tunnels are not enabled, you could run netcat or socat in the intermediate machine to obtain a similar effect. I believe that later versions of Perl for Windows already have an emulation of socketpair, so you would be able to do something like...
Net::Telnet ===> socketpair ===> plink ===> netcat ===> destination h
+ost/port
\_______________ ____________/ \___ ___/
\/ \/
Local machine Intermediate machine