Hi,
script.php?var=user@email
no, no. Das "@" muss URL-kodiert werden (%40).
open(PHP,'pfad/zu/php/php pfad/zu/script.php?var=user@email|')
Der Query-String wird vom HTTP-Server analysiert und in die Umgebungsvariablen geschrieben - hier umgehst Du den Server. Einfach, wenn auch zeitaufwändige Lösung:
perldoc LWP::Simple
"X-Powered-By: PHP/4.0.6 Content-type: text/html No input file specified."
Krass[tm]. Der PHP-Interpreter erhält hier vermutlich den Aufruf-Parameter "pfad/zu/script.php?var", dem der Wert "user@email" zugeordnet ist, und es fehlt danach der Name des Scripts.
Wenn ich das richtig sehe, musst Du die Parameter durch Leerzeichen getrennt angeben und anschließend $argv analysieren. Automagisch bekommst Du die Variablen nicht; dieses Verhalten von PHP bei URL- und POST-Parametern möchte ich eh als Bug bezeichnen.
Cheatah