for ( push @history, '~~SOME UNLIKELY VALUE~~', my $value= shift @history; $value ne '~~SOME UNLIKELY VALUE~~'; $value = shift @history ) { push @history, $value, $history{ $value }++ unless exists $history{ $value } }