$ cat a.pl open(FILE, '> bla') or die("$!"); select FILE; $|=1; select STDOUT; print FILE "test1\n"; print FILE "test2\n"; sleep 10; print FILE "test3\n"; close FILE; $ cat a.sh #!/bin/sh rm -f bla bla2 perl a.pl & sleep 5 test -f && cp bla bla2 sleep 10 echo bla: cat bla echo bla2: cat bla2 $ a.sh bla: test1 test2 test3 bla2: test1 test2