ага, спасибо, чуть яснее стало. в разных местах они это называют по-разному, гады.
но там нет ответа про модификацию $_ в случае my $line = <STDIN>; и кто отвечает за вот такое поведение "Like the <EXPR> operator, if a readline expression is used as the condition of a while or for loop, then it will be implicitly assigned to $_. If either a readline expression or an explicit assignment of a readline expression to a scalar is used as a while/for condition, then the condition actually tests for definedness of the expression's value, not for its regular truth value."