Вот как работает оператор &&
: если левый аргумент оценивается как истина, значение выражения равно значению правого аргумента. Это описано на странице perlop .
Однако вы также позволили себе открыть гораздо более тонкую проблему. Вы обнаружите, что новая строка не печатается. Это потому, что если вы поместите выражение в скобках после print
(или любого другого имени функции), аргументы, переданные в print
, будут просто аргументами в скобках. Чтобы получить уведомление об этом, убедитесь, что вы включили предупреждения. Поместите эти строки вверху каждой программы:
#!/usr/bin/perl -w
use strict;
пока вы не поймете их достаточно, чтобы решить для себя, продолжать ли с ними. : -)
В вашем случае вы получите это:
print (...) interpreted as function at p line 7.
Useless use of concatenation (.) or string in void context at p line 7.