I already have Win32::DDE, but the documentation says it's a low-level interface and not really meant to be used on its own. If I have to use DDE and not OLE, then that means I really need Win32::DDE::Client as well - but nobody on the Internet seems to offer it. Short of that, I need to know how to use the standard DDE calls with the base Win32::DDE.
jdporter: I'm trying to connect to ZIP4. This is a sample from the documentation:
DDECONNECT<service=ZP4, topic=Addresses> [client links to ZP4.EXE]
POKE<InputOrder, Address & City> [client promises to send records wit
+h address and city fields]
POKE<OutputOrder, State (final) & ZIP (final)> [client wants to get b
+ack the state and ZIP+4 code]
REQUEST<Data & 207 grenada & rio del mar> [client sends an address to
+ ZP4.EXE]
RESPONSE = CA & 95003-5007 [ZP4.EXE responds with state and ZIP+4 cod
+e]
REQUEST<Data & 401 granite & seacliff> [client sends an address to ZP
+4.EXE]
RESPONSE = CA & 95003-3908 [ZP4.EXE responds with state and ZIP+4 cod
+e]
REQUEST<Data & 207 granada & aptos> [client sends an address to ZP4.E
+XE]
RESPONSE = CA & 95003-5007 [ZP4.EXE responds with state and ZIP+4 cod
+e]
The complete list of DDE transactions recognized by ZP4.EXE is:
Poke "InputOrder" <fields>
Poke "OutputOrder" <fields>
Poke "TimeLimit" <milliseconds>
Poke "StopCASS" <filename>
Execute "Refresh"
Execute "Freeze"
Execute "StartCASS"
Request "Data"
Request "ErrorMessages"
Request "AllOutputs"
Request "Plus4Lookup"