#!/usr/bin/perl -w #todo: # - fix base # - calc dimensions of image # - print "x of n images" bug # - rotate image use strict; use Data::Dumper; use CGI; use URI::WithBase; my $base = new URI::WithBase->rel($0); my $cgi = CGI->new(); #get files my @files = `ls .` or die "$!: $?"; chomp @files; my @pics = grep(/.jpg$/i, @files); my $total = scalar(@pics); #get current state my $curr_pid = $cgi->param('pid'); my $curr_idx = &lookupIdx($curr_pid); my $curr_pos = $curr_idx+1; my $prev_pid = $pics[$curr_idx-1]; my $next_pid = $pics[$curr_idx+1]; print $cgi->header(); if ($curr_pid =~ m/.jpg$/i) { #no action yet draw($curr_pid); } else { foreach my $pid (@pics) { print <$pid
HTML } } sub draw { my $curr_pid = shift; print <prev | next | index

$curr_pid ($curr_pos of $total)

HTML } sub lookupIdx { my $curr_pid = shift; my $curr_idx = 0; foreach my $pid (@pics) { return $curr_idx unless $pid !~ m/$curr_pid/; $curr_idx++; } }