1#!/usr/bin/perl 2# 3# Make sure we can fetch a record in the middle of the file 4# before we've ever looked at any records before it 5# 6# Make sure fetching past the end of the file returns the undefined value 7# 8# (tests _fill_offsets_to() ) 9# 10 11use strict; 12use warnings; 13 14my $file = "tf03-$$.txt"; 15$: = Tie::File::_default_recsep(); 16my $data = "rec0$:rec1$:rec2$:"; 17 18print "1..8\n"; 19 20my $N = 1; 21use Tie::File; 22print "ok $N\n"; $N++; 23 24open F, '>', $file or die $!; 25binmode F; 26print F $data; 27close F; 28 29my @a; 30my $o = tie @a, 'Tie::File', $file, autochomp => 0; 31print $o ? "ok $N\n" : "not ok $N\n"; 32$N++; 33 34$: = $o->{recsep}; 35 36my $n; 37 38# 3-5 39for (2, 1, 0) { 40 my $rec = $a[$_]; 41 print $rec eq "rec$_$:" ? "ok $N\n" : "not ok $N # rec=<$rec> ?\n"; 42 $N++; 43} 44 45# 6-8 46for (3, 4, 6) { 47 my $rec = $a[$_]; 48 print ((not defined $rec) ? "ok $N\n" : "not ok $N # rec=<$rec> is defined\n"); 49 $N++; 50} 51 52END { 53 undef $o; 54 untie @a; 55 1 while unlink $file; 56} 57 58