in reply to while loops with two tests not working.

Just for the fun of it (and a gentle push towards "use a templating system"), I came up with this:
use strict; use warnings; use HTML::Template; my $t = HTML::Template->new( filehandle => \*DATA, die_on_bad_params => 0 ); my ( $average, @fullstars, @emptystars ); $average = 3.7; # hard-coded for testing for ( 1 .. 5 ) { if ( $_ <= $average ) { push( @fullstars, 1 ); } else { push( @emptystars, 1 ) } } if ( int($average) != $average ) { $t->param( halfstar => 1 ); shift(@emptystars); } $t->param( fullstars => \@fullstars, emptystars => \@emptystars ); print $t->output(); __DATA__ <tmpl_loop name="fullstars"> <img src="fullstar"> </tmpl_loop> <tmpl_if name="halfstar"> <img src="halfstar"> </tmpl_if> <tmpl_loop name="emptystars"> <img src="emptystar"> </tmpl_loop>


Nobody says perl looks like line-noise any more
kids today don't know what line-noise IS ...