my @classes = qw( odd even );
while (...) {
push @classes, my $class = shift @classes;
...
}
####
my $odd;
while (...) {
my $class = ($odd++ % 2 == 0) ? 'odd' : 'even';
...
}
####
my $odd;
while (...) {
my $class = $odd++ % 2 ? 'even' : 'odd';
...
}
####
my $odd;
while (...) {
my $class = $odd ^= 1 ? 'odd' : 'even';
...
}
####
my $odd;
while (...) {
my $class = ('odd','even')[$odd++ % 2];
...
}
####
my $odd;
while (...) {
my $class = ('odd','even')[$odd ^= 1];
...
}
####
my $class = 'even';
while (...) {
$class = ($class eq 'odd') ? 'even' : 'odd';
...
}
####
my @classes = qw( odd even );
while (...) {
push @classes, my $class = shift @classes;
...
}
####
my $class = 'even';
while (...) {
($class) = grep $_ ne $class, qw( odd even );
...
}
####
my ($class, %flip_class) = qw( even odd even even odd );
while (...) {
$class = $flip_class{$class};
...
}
####
my ($class, %flip_class) = qw( odd even )[1,1,0,0,1];
while (...) {
$class = $flip_class{$class};
...
}
####
use Tie::Cycle qw( );
tie my $class, 'Tie::Cycle', [ qw( odd even ) ];
while (...) {
...
}