1use strict; 2use FileHandle::Unget; 3use File::Spec::Functions qw(:ALL); 4use Test::More tests => 4; 5use File::Temp; 6 7my $tmp = File::Temp->new(); 8 9{ 10 print $tmp "first line\n"; 11 print $tmp "second line\n"; 12 close $tmp; 13} 14 15# Test ungets'ing and reading a line of data 16{ 17 my $fh1 = new FileHandle::Unget($tmp->filename); 18 my $fh2 = new FileHandle::Unget($tmp->filename); 19 20 my $line = <$fh1>; 21 $line = <$fh2>; 22 23 $fh1->ungets("inserted 1\n"); 24 $fh2->ungets("inserted 2\n"); 25 26 $line = <$fh1>; 27 # 1 28 is($line, "inserted 1\n", 'Unget 1'); 29 30 $line = <$fh2>; 31 # 2 32 is($line, "inserted 2\n", 'Unget 2'); 33 34 $line = <$fh1>; 35 # 3 36 is($line, "second line\n", 'Get 1'); 37 38 $line = <$fh2>; 39 # 4 40 is($line, "second line\n", 'Get 2'); 41 42 $fh1->close; 43 $fh2->close; 44} 45 46