##
for ( @list ) {
$hash{$_} ||= ( 1 + keys %hash );
}
for ( @list ) {
$hash{$_} = ( $hash{$_} || ( 1 + keys %hash ) );
}
##
##
$hash{$_} ||= 1 + keys %hash;
# looks more like:
( $hash{$_} = $hash{$_} ) || ( $hash{$_} = 1 + keys %hash )