in reply to A story of a Perl Monk and Problem
However, if you do a
at the start of each page, it will allow you to use seek later to skip back to any of those particular points later using the values stored in the @tells array. E.G.push(@tells, $dir->tell());
# have now read through all files once and stored every # Nth position in @tells my $dirpos = @tells / 2; # start in the middle my $browsing = 1; while ($browsing) { my $action = ""; $f = $dir->seek($tells[$dirpos]); # code to go here to read next N files and display # results to user. # Come back here when we have an submit from the user # and $action set to the result. if ($action eq "pageforwards") { #should check for end $dirpos++; } elsif ($action eq "pagebackwards") { #should check for start $dirpos--; } else { # do other actions $browsing = 0; } }
This way, you only have to store a value for every Nth file, which is a big reduction in storage.
--
Brovnik.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: A story of a Perl Monk and Problem
by Hero Zzyzzx (Curate) on May 19, 2001 at 20:56 UTC | |
by Brovnik (Hermit) on May 19, 2001 at 22:09 UTC |