$ perl -wle 'm[^(?{undef $var})(?:([01])(?{$var //= $^N}))+$] and print "$_: '"'"'$var'"'"'" for qw[ 0 1 00 11 10 01 012]' 0: '0' 1: '1' 00: '0' 11: '1' 10: '1' 01: '0'