Онлайн-справочник по самым часто задаваемым вопросам из темы "Как сделать?" на форуме QSP.su
1.5. Чем отличаются эти две команды? `pl "<<$perem>>"` и `pl $perem`
В: Чем отличаются эти две команды?
*pl $perem
О:
На экране различий Вы не увидите, да и в игре особой разницы не почувствуете. Результат их работы одинаков.
А вот работают они по разному.
Когда плеер встречает первую команду, он видит оператор `pl`, и что этому оператору передано некое значение — строка. Так же он видит, что в строке присутствует подвыражение. Первым делом он пытается вычислить значение этого подвыражения, которое соответствует значению переменной `$perem`. Это значение плеер подставляет в строку. Таким образом у него получается текстовая константа. Затем он берёт значение этой текстовой константы и передаёт оператору `pl`, который и выводит значение на экран.
Когда плеер встречает вторую команду, он просто получает значение переменной `$perem` и передаёт его оператору.
Первая команда принуждает плеер выполнять двойную работу. Это будет заметно при больших объёмах вычислений. Первая команда выполняется примерно в 1,3 раза дольше.