Sim, exatamente isso pode acontecer se as linhas para stdout forem longas o suficiente.
#!/usr/bin/perl
use strict;
use warnings;
for (1..10) {
print "START"; print "-" x 100000; print "END\n";
warn "!\n";
}
Em exibição:
./writer.pl > out 2>&1
Verificação: Abra o arquivo out em um editor e localize stderr ! entre - , nem sempre entre END e START
Isso variará entre sistemas operacionais, idiomas e sistemas de várias maneiras, mas sua suposição básica está correta. Experimente variando o comprimento das linhas stdout: print "-" x 100 , print "-" x 10000 etc.