так все же, можно как-нибудь игнорировать именно необъявленные переменные и только эту ошибку в eval?
а что обозначает запись ? $currentattaches = ${currentattaches . $x}; даже как гуглить не соображу