#!/usr/bin/perl $NUMX = 5; $NUMY = 4; $HTML_HOME = '/www/htdocs/mobilecamera'; &Html( ); sub Html{ my( $count, $org ) = &StartCount(); my $navi; if( $count >= $org ){ $navi = "[newer]"; } else{ $navi = sprintf( "[newer]", $count + $NUMX * $NUMY ); } if( $count <= $NUMX * $NUMY ){ $navi .= "[older]"; } else{ $navi .= sprintf( "[older]", $count - $NUMX * $NUMY ); } my $line; while( $line = ){ $line =~ s/\+\+NAVI\+\+/$navi/g; if( $line =~ /^\+\+TABLE\+\+/ ){ &MakeTable( $count ); } else{ print $line; } } } sub StartCount{ my $a; my $c = &NowCount(); if( $ENV{QUERY_STRING} =~ /n=(\d+)/ ){ $a = $1; if( $a > $c ){ return( $c, $c ); } elsif( $a <= 0 ){ $c = $NUMX * $NUMY; return( $c, $c ); } else{ return( $a, $c ); } } else{ return( $c, $c ); } } sub NowCount{ open( CT, "${HTML_HOME}/count" ) || return(0); my $line = ; close( CT ); chomp( $line ); return( $line ); } sub MakeTable{ my( $count ) = @_; my $i, $j, $n; my @num = &GetImageName( $count ); for( $j=0; $j<$NUMY; $j++ ){ print "\n"; for( $i=0; $i<$NUMX; $i++ ){ $n = $j * $NUMX + $i; print ""; if( $num[$n] ne 'nodata' ){ printf "", $num[$n]; } printf "\"%s\"", $num[$n], $num[$n]; if( $num[$n] ne 'nodata' ){ printf ""; } print "\n"; } print "\n"; } } sub GetImageName{ my( $count ) = @_; my $n; my @num = (); my $fmt; for( $n=$count; $n> $count - $NUMX * $NUMY; $n-- ){ $fmt = sprintf "%08d", $n; if( $n <= 0 ){ push( @num, 'nodata' ); } elsif( -e "${HTML_HOME}/jpeg/${fmt}.jpg" ){ push( @num, $fmt ); } else{ push( @num, 'nodata' ); } } return( @num ); } __END__ Content-Type: text/html 携帯写真ぎゃらりー
携帯写真ぎゃらりー

++NAVI++ ++TABLE++