in reply to Interesting Dilemma

for commands that don't require a log-in, use IPC::Open2 or IPC::Open3. i use it frequently for things like rcp and rsh ( on Cisco routers ). i don't know specifically which commands you're trying. . .

IPC::Open* will handle most of the socket connection stuff for you.

or you could try to use Expect.pm if the router is giving you prompts. . .

what happens when you execute the commands from your shell? that should give you some indication of what's going on. it's also possible that your webdaemon doesn't have permissions to execute commands on the router. occasionally i'll have to use sudo -u poweruser cmd to get anything done on the routers.