#!/perl/bin/perl use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); use strict; my @fields = qw(title actors desc aprt price id category); my $page = (param("pg") =~ /^\d+$/) ? param("pg") : 1; my $limit = 9; my $offset = ($page > 1) ? ($page * $limit) : 0; my $i = 0; my $span = ''; my @files = (); print header(), start_html(); opendir (DIR, "data") or die $!; @files = sort readdir(DIR); closedir DIR; FILE: foreach (@files) { if (/\.txt$/) { $i++; if (($i > $offset) && ($i <= $offset + $limit)) { my $file = $_; my $prev = $page - 1; $span .= "<prev " if ($page > 1 && $i == $offset + 1); open (TXT, "data/$file") or die "couldn't open file $_: $!"; while () { my %rec; chomp; @rec{@fields} = split /\|/; print join "; ", map { "$_ = $rec{$_}" } keys %rec; print "
"; } close (TXT); } if ($i > $offset + $limit) { my $next = $page + 1; $span .= "next>"; last FILE; } } } print $span; print end_html();