#!/usr/bin/perl -w BEGIN { $pic_height = 200; $pics_in_row = 3; $current_dir = `pwd`; chomp $current_dir; } BEGIN { my $indent_space_count = 0; sub indent { $indent_space_count += 2; } sub outdent { $indent_space_count -= 2; if ($indent_space_count < 0) { warn "indent space count underflowed, resetting to zero"; $indent_space_count = 0; } } sub doindent { print " " x $indent_space_count; } } # end of BEGIN block sub write_header { &doindent; print '', "\n"; &indent; &doindent; print '', "\n"; &indent; &doindent; print '', "\n"; &indent; &doindent; print 'Picture Thumbnails', "\n"; &outdent; &doindent; print '', "\n"; &outdent; &doindent; print '', "\n"; &doindent; print '', "\n"; &indent; &doindent; print '
', "\n"; &indent; } sub write_footer { &outdent; &doindent; print '
', "\n"; &outdent; &doindent; print '', "\n"; &outdent; &doindent; print '', "\n"; } sub initialize_row { &doindent; print '

', "\n"; &indent; } sub finalize_row { # &outdent; &doindent; print '



', "\n"; &outdent; &doindent; print '


', "\n"; } sub add_picture_to_row { my ( $picture_name , @trash ) = @_; warn "too many parameters to add_picture_to_row" if @trash; &doindent; print '', "\n"; &indent; &doindent; print '', "\n"; &indent; &doindent; print '', "\n"; &outdent; &doindent; print '', "\n"; &doindent; print '', "\n"; &indent; &doindent; print '', "\n"; &outdent; &doindent; print '', "\n"; &outdent; &doindent; print '
', "\n"; &indent; &doindent; print '' , "\n"; &outdent; &doindent; print '
', "\n"; &indent; &doindent; print '', "\n"; &indent; &doindent; print '', "\n"; &indent; &doindent; print "$picture_name" , "\n"; &outdent; &doindent; print '', "\n"; &outdent; &doindent; print '', "\n"; &outdent; &doindent; print '
', "\n"; } BEGIN { my $row_used = 0; my $max_row_to_use = $pics_in_row; sub picture_fits_in_row { my ($prospective_picture, @trash) = @_; warn "too many parameters to add_picture_to_row" if @trash; # FIXME Change to real pixel calculations. if ($row_used < $max_row_to_use) { $row_used++; return 1; } else { $row_used = 1; return 0; } } } ################# # Main Processing ################# &write_header; &initialize_row; while ( defined($next_picture_id = )) { chomp $next_picture_id; if ( &picture_fits_in_row( $next_picture_id ) ) { &add_picture_to_row( $next_picture_id ); } else { &finalize_row; &initialize_row; &add_picture_to_row( $next_picture_id ); } } &finalize_row; &write_footer;