String richtig escapen für print to file

Begonnen von eldrik, 19 November 2014, 10:46:27

Vorheriges Thema - Nächstes Thema

eldrik

Hallo zusammen,

ich möchte folgenden String per print in ein File schreiben, wie muss dieses richtig escaped werden, damit Perl nicht die ganzen {},:" anmeckert, jedoch die Variablen z.B. $datetime übergeben werden?

print FILEHANDLE "{ "billingData:" : { "assignment" :[{ "obis":"8181C78227FF","value":"0815"}, { "obis":"8181C78205FF","value":"Max"}, { "obis":"8181C78206FF","value":"Mustermann"}, { "obis":"8181C78207FF","value":"Nymphenburger Str. 20b, 80335 Muenchen"},{ "obis":"0100000000FF","value":"$serialNumber"},{ "obis":"010000090B00","value":"$datetime"}],";"values" : [ {"obis":"0101010800FF","value":366.83,"unit":"kWh" },{"obis":"0101010801FF","value":255.16,"unit":"kWh"},{"obis":"0101010802FF","value":60.05,"unit":"kWh"},{"obis":"0101010803FF","value":51.53,"unit":"kWh"},{"obis":"0102020800FF","value":6.83,"unit":"kWh"},{"obis":"0102020807FF","value":6.79,"unit":"kWh"},{"obis":"0100010700FF","value":$powerOverall,"unit":"W"},{"obis":"0100150700FF","value":$powerL1,"unit":"W"},{"obis":"0100290700FF","value":$powerL2,"unit":"W"},{"obis":"01003D0700FF","value":$powerL3,"unit":"W"},{"obis":"010020070000","value":230.04,"unit":"V"},{"obis":"010034070000","value":226.95,"unit":"V"},{"obis":"010048070000","value":228.93,"unit":"V"},{"obis":"01000E070000","value":50.000,"unit":"Hz"},{"obis":"010001080080","value":0.30,"unit":"kWh"},{"obis":"010001080081","value":0.49,"unit":"kWh"},{"obis":"010001080082","value":4.75,"unit":"kWh"},{"obis":"010001080083","value":27.86,"unit":"kWh"},{"obis":"010001080084","value":0.00,"unit":"kWh"},{"obis":"010002080080","value":0.00,"unit":"kWh"},{"obis":"010002080081","value":0.00,"unit":"kWh"},{"obis":"010002080082","value":0.00,"unit":"kWh"},{"obis":"010002080083","value":0.00,"unit":"kWh"},{"obis":"010002080084","value":0.00,"unit":"kWh"} ] }}";

Edit: Fehler gefunden, hatte beim bearbeiten des Skripts unzulässigen Text eingefügt, das Escapen funktioniert ohne Probleme.

Greetz
Eldrik