add some comments
[tridge/junkcode.git] / seek.pl
1 #!/usr/bin/perl -w
2
3 require POSIX;
4 require IO::Seekable;
5 use IO::Handle;
6 use IO::File;
7
8 my $fname = $ARGV[0];
9
10 sysopen(FILE,$fname,O_RDONLY) || die "Couldn't open $fname\n";
11
12 $min = 0;
13 $max = 2**31;
14
15 for ( ; $min != $max ; ) {
16     print "min=$min max=$max\n";
17     $try = int(($min + $max) / 2) + 1;
18     sysseek(FILE, $try, SEEK_SET);
19     $x = sysread(FILE, $b, 1);
20     if ($x == 1) {
21         $min = $try;
22     } else {
23         $max = $try - 1;
24     }
25 }
26
27 $try = $min + 1;
28
29 print "file is $try long\n";