sub is_const { !eval { ($_[0]) = $_[0]; 1; } } for (...) { if (is_const($_)) { ... } else { ... } }