script - multiple telnets with logging

We had a system outage, and now I am trying to figure out how to get raw data to store in a log file.

I have a flat file that has multiple IP port line.
I want to telnet to each and log each.
But as soon as I connect to the first, it stays there.
This is on an HPUX 11.23 system. I dont think I can get expect on it, but, I dont know how expect can do this either.

These are non-interactive ports, so as soon I telnet to port, I am getting raw data.

exec < /var/isnms/switch.ip
while read switch port host log; do
if [ -d /var/isnms/$host ]
then
echo $host exist
else
mkdir /var/isnms/$host
fi
if [ -f /var/isnms/$host/$log ]
then
echo $log exist
echo "telnet $switch $port"
telnet $switch $port >/var/isnms/$host/$log
else
touch /var/isnms/$host/$log
echo "telnet $switch $port"
telnet $switch $port >/var/isnms/$host/$log
fi

telnet sticks here because it's waiting for input on stdin. Redirect telnet ... </dev/null and it shouldn't stick.