[Perl] qx() vreet geen kleiner dan

Pagina: 1
Acties:

  • UltraSub
  • Registratie: Mei 2003
  • Laatst online: 06-04 12:20
Heb een probleempje in een script wat ik op mijn werk aan het bouwen ben.
Ik gebruik altijd qx om een commando af te schieten, en dan de output in een array te stoppen. Dit werkt altijd perfect, behalve nu. Heb hier een sql query welke niet werkt als ik er een < of > teken in heb staan, maar wel werkt wel gewoon goed zonder die tekens, als ik bijvoorbeeld = gebruik.
qx denkt dus blijkbaar dat ik wil redirecten. Ik heb al van alles geprobeerd, met weet ik hoeveel escapes, maar nogo. Iedere keer dus weer: "The system cannot find the file specified."

Ik wil dus graag dit uitvoeren (en deze werkt dus niet):
code:
1
@cmd1 = qx("$tsmcmd select node_name,lastacc_time,contact from nodes where date(lastacc_time)<=\'2005-06-01\'");


Deze werkt echter wel perfect:
code:
1
@cmd1 = qx("$tsmcmd select node_name,lastacc_time,contact from nodes where date(lastacc_time)=\'2005-06-01\'");


Iemand die me hier mee kan/wil helpen? :)

[ Voor 8% gewijzigd door UltraSub op 02-03-2006 13:27 ]


  • [ti]
  • Registratie: Februari 2000
  • Niet online
escapen -> \<= ipv <=

  • tech-no-logical
  • Registratie: December 2000
  • Laatst online: 17-03 15:41
man perlop :
On most platforms, you will have to protect shell metacharacters if you want them treated literally. This is in practice difficult to do, as it's unclear how to escape which characters.
ik heb 't even geprobeerd, maar ik kreeg 't ook niet voor elkaar om correct te escapen. misschien kun je toch beter een andere manier zoeken...

  • UltraSub
  • Registratie: Mei 2003
  • Laatst online: 06-04 12:20
Hmm..
Sja, ik gaat het eens anders proberen. Ik laat het even weten als het gelukt is.

Met geen mogelijkheid aan de gang te krijgen dus :(
Heb maar gebruik gemaakt van een macro file (welke het pakket ondersteund wat het commando moet uitvoeren). Probleem opgelost dus, alhoewel ik het niet al te netjes vind :|

[ Voor 57% gewijzigd door UltraSub op 03-03-2006 11:23 ]