Heiko Schlittermann hs@schlittermann.de (Sa 14 Jul 2018 12:57:00 CEST): …
#!/usr/bin/perl die "Usage: $0 FILE\n" unless @ARGV == 1; $/ = \4096; # use 4k chunks, not line by line defined($_ = <STDIN>) and open(STDOUT, '>', shift) and print and print while <STDIN>;
Habe eben versucht, etwas noch cooleres mit select(2) zu machen, aber da select() auch zurückkehrt, wenn der Eingabestrom geschlossen wird (ohne Daten geliefert zu haben), müsste man doch wenigstens ein getc(), ungetch() machen vor dem exec(), und dann wird es nicht eleganter als das, was wir schon haben.
Und getchar(), ungetchar() arbeiten mit FILE*, da haben wir schon was im Buffer, bevor wir exec() aufrufen können, das fehlt dann am Ende.
-- Heiko