First of all (just so you know) the code is using a Bourne Shell heredoc. Not a perl heredoc.
I don't see any problem with the code. I ran the following (on Fedora 6):
#! /usr/bin/perl -w
my @result = `sh << EOF;
The output looked fine:
$VAR1 = [
'Thu Apr 3 12:27:32 MDT 2008
output looks fine.
6204 pts/1 S+ 0:00 sh -c sh << EOF;?pwd;?sleep 10;?date;?EOF
Have you tried running the command from a shell yourself? I suspect the ssmcons
program is hanging. Maybe 192.168.2.114
is not responding or closing the connection.