Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > основы |
Автор: Paul56 1.5.2010, 12:40 |
объясните, чем отличается запись. my $var = 3; и my ($var) = 3; |
Автор: DaemonSuw 1.5.2010, 15:25 |
Ничем! Обычно так пишут когда хотя первому значению из списка присвоить какие нибудь значение и определить еще пару скалеров, вот пример: my ($dbh, $sth) = $self->get_dbh - вот так я иногда пишу на практике, |
Автор: DurRandir 1.5.2010, 19:53 |
Отличаются. Во 2м случае присваивание выполняется в списковом контексте. Для примера: sub foo{ return (1,2,3) } my $bar = foo(); my ($baz) = foo(); print "beware!" if $bar != $baz; В списковом варианте каждый объявленный скаляр слева заберёт по одному значению из списка справа (а массив и хеш - всё до конца), для пропуска значений можно использовать undef: my ($bar, undef, $baz) = foo(); |
Автор: Paul56 3.5.2010, 08:24 |
спасибо DurRandir, за полноценный ответ. |