The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#! perl

use strict;
use warnings;
use Test::More tests => 6;
use File::Spec;
use Iterator::Diamond;

-d 't' && chdir 't';

my $id = "10-stdin";

open(my $f, '>', "$id.tmp")
  or die("$id.tmp: $!\n");
print { $f } "Hello, World1!\n";
print { $f } "Hello, World2!\n";
print { $f } "Hello, World3!\n";
close($f);

@ARGV = ( "$id.tmp", "-" );
close(STDIN);
open(STDIN, '<', "$id.tmp");
my $it = Iterator::Diamond->new( magic => "stdin" );

my @lines = ();
while ( <$it> ) {
    push(@lines, $_);
}

for my $i ( 0..1 ) {
    for my $j ( 1 .. 3 ) {
	is(shift(@lines), "Hello, World$j!\n", "line$j-$i");
    }
}

unlink( "$id.tmp" );