If I correctly understand it, then you want to make a server program which can be contacted by your existing program, collects the data, and then sends it to other clients?
In that case you can use IO::Socket::INET to write the server. Your other program doesn't have to be running all the time in order for this to work, but it does need to send the data to the server.
Unless they're on the same machine of course, and you can get the data some other way.. (local files?)
C.