@Leytenant

Почему не работает условный оператор в Perl?

Почему код выводит "photo", а не "text"?

my $JSON;
$JSON->{message}->{text} = '111';
my $type; 
$JSON->{message}->{text} ne '' ? $type = 'text' : $type = 'photo';
print $type; # выводит photo

if($JSON->{message}->{text} ne '' ) { $type = 'text'; } else { $type = 'photo';}
print $type; # выводит text
  • Вопрос задан
  • 226 просмотров
Решения вопроса 1
@hobo-mts
Shortly
Потому что тернарный оператор неправильно используется, и сравнение тут лишнее, нужно прим. так:

$type = $JSON->{message}->{text} ? 'text' : 'photo';
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы