Toon posts:

[perl] uitvoeren van programma

Pagina: 1
Acties:

Verwijderd

Topicstarter
code:
1
2
open QUOTA,"|/usr/bin/quota | /bin/grep /dev/";
close QUOTA;

dit werkt, alleen <QUOTA> is leeg, hoe kan ik toch de output printen ?

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 13:13
Die | aan 't begin van de string naar 't einde verplaatsen. Op deze manier pipe je namelijk de uitvoer van het Perl script in 'quota', in plaats van dat de uitvoer van 'grep' naar het Perl script gepiped wordt (wat de bedoeling is).

Heel vervelende syntax; ik moet ook altijd weer denken aan welke kant dat | tekentje moet staan. Je kunt het je wel zo voorstellen: als hij in het begin staat, dan 'mist' er links een applicatie en dat is dan dus het script (en die genereert dan dus invoer voor de applicatie rechts van de eerste |) en als 'ie aan 't eind staat, mist de applicatie helemaal rechts, die dus de uitvoer van de voorlaatste applicatie als invoer ontvangt.

Verwijderd

Topicstarter
klinkt logisch alleen blijft <QUOTA> met
code:
1
open QUOTA,"/usr/bin/quota | /bin/grep /dev/ |";

toch leeg ;(

  • Glival
  • Registratie: December 1999
  • Laatst online: 05-09 21:59
Ik heb hetzelfde probleem met wget. De manier die hierboven beschreven staat, werkt bij mij wel met 'open TEST, echo bla |', maar niet met wget.