sed et perl temporisent par défaut sur leurs sorties à l'aide de buffers qui peuvent avoir un impact sur des exécutions au travers de pipes ( | ).

Pour ne pas temporier les sorties, il faut procéder aux ajustements suivanst :

  • pour sed, il faut l'exécuter avec l'option -u. Exemple : sed -u 's/pattern/replacement/g' <input.txt | nc localhost 25
  • pour perl, il faut dans le script positionner la variable $| à 1 : $|=1;