Вопросы
Объясните разницу между этими строками кода и значения переменных.
Мои $ a = (4, 5, 6);
мой @a = (4, 5, 6);
Мои $ B = 4, 5, 6;
мой $ c = @a;
Каковы самые большие сильные стороны Perl?
строгим;
делать? Почему это полезно? Что делает следующий блок кода?
Печать (3 + 4) * 2;
Тесты
GREP
, используя карту
. Perldoc
. Что такое лексическое закрытие? Когда полезны замыкание? (Пожалуйста, нет контр-создателей!)
Как находится $ Foo -> {bar} [$ BAZ] ($ quuux)
оценивается?
Что не так с использованием переменной в качестве имени переменной?
Для каждой из следующих проблем, как бы вы решите его с помощью хэшей?
Что не так с этим кодом?
my @array = qw/a b c d e f g h/;
for ( @array ) {
my $val = shift @array;
print $val, "\n";
}
= ...
и мой ($ x) = ...
? мой ($ x, undef, $ z) = ...
? мой (@ a, @ b) = (@ list1, @ list2)
, вероятно, ошибка? Мои
и и ?
?
My
и Local
? Я думаю, что подход Brian d Foy - гениальная тактика для проверки знаний, понимания и пристрастия о языке и программировании в целом: Какие пять вещей, которые вы ненавидите о своем любимом Язык? . Если они не могут назвать 5, они, вероятно, не имеют большого значения с языком, или полностью ненуются другими подходами.
Он применяет это людям, пытаясь нажимать язык: я бы продлил это и скажу, что это так же применимо здесь. Я бы ожидал, что каждый хороший программист Perl сможет назвать пять вещей, которые им не нравятся. И я ожидаю, что эти пять вещей имеют некоторую степень заслуги.
В чем разница между контекстом списка и скалярным контекстом. Как получить доступ к каждому из них? Есть ли такая вещь, как Хэш-контекст? Может быть немного?
код записи, который создает умеренно сложную структуру данных, скажем, массив хэшей массивов. Как бы вы получили доступ к конкретному листу? Как бы вы проходили всю структуру?
my $a = 1;
if($a) {
my $a = 2;
}
print $a;
Какова ценность $ a в конце?
Мой вопрос Bellweather - это , в чем разница между списком и массивом? .
Я также склонен просить людей показать мне столько, сколько может определить объем. Есть тот, который люди почти всегда забывают, а другой, что большинство людей думают, что обеспечивает массу, но не.
В чем разница между
if ($foo) { ... }
и
if (defined $foo) { ... }
и когда вы должны использовать один над другим?
Что делает этот одноклассник и почему:
Perl -pe '} {$ _ = $.' файл
Ответ: количество строк в файле, аналогично WC -L
.
Что не так с этим кодом:
Мои $ I;
Печать ++ $ I +++ $ I;
Ответ: изменение переменной дважды в том же операторе приводит к неопределенному поведению.
Простой один: Блок IF Block Run:
мой @arr = undef;
Если (@arr) {...}
Ответ: Да
Как бы вы кодировали Reverse ()
Perl встроенный? Вы можете использовать другие функции PERL.
Ответ: много способов. Короткий: sub my_reverse {сортировка {1} @_})
Мой любимый вопрос. Чего не хватает в следующем коде:
open(my $fh, "<", "file.txt");
while (<$fh>) {
print $_;
}
close($fh);
Этот вопрос должен открыть дискуссию о обработке ошибок в perl. Он также может быть использован и в других языках.
Я бы также, вероятно, покопался в регулярных выражениях, поскольку я ожидаю, что каждый хороший программист Perl овладеет регулярными выражениями (но не только этим). Некоторые возможные вопросы: