19 февр. 2019, вторник, в 09:53 NOVT, Valera Kolesnik написал(а):
VK>>> Unary "-" ...
VK>>> If the operand is an identifier, a string consisting of a minus sign
VK>>> concatenated with the identifier is returned.
VK>>> ...
VK>>> One effect of these rules is that "-bareword" is equivalent to the
VK>>> string
VK>>> "-bareword".
VK>>> что я выше и продемонстрировал убрав толстую запятую
EG>> Спор ни о чём, так как это полностью эквивалентные
EG>> в практическом смысле определения. То же можно сказать не только
EG>> про минус, но и про любую другую букву и это будет верно на практике.
VK> я не спорю, а поправляю. человек, начинающий знакомство с перлом
VK> запутался в
VK> одной хитрой и интересной теме и попросил прояснить.
VK> насколько эта тема интересна и хитра понятно, например, по твоему
VK> заблуждению.
VK> я только поясняю, как оно на самом деле есть.
VK> какие вещи эквивалентные? "-" специален. поэтому мы можем написать:
VK> my %h = ( -key, 'value' );
VK> а вот так уже не можем:
VK> my %h = ( key, 'value' );
VK> точно также с простыми строками вне инициализации хешей:
VK> my $s = -value;
VK> будет работать ($s = '-value'), а:
VK> my $s = value;
VK> не будет (Bareword "value" not allowed while "strict subs" in use at -e
VK> line 1.
VK> Execution of -e aborted due to compilation errors).
VK> и как не заменяй в этих примерах '-' на любую другую букву, работать они
VK> уже не
VK> будут.
Ах вот ты о чём, я думал мы всё ещё в контексте вопроса.
Тогда да, ты прав.
Eugene
--
Тестоголовые кислое свое брожение приняли за душу, распарывание чрев
своих - за историю, средства, оттягивающие разложение - за цивилизацию...