Я довольно хорошо знаком с python, с точки зрения автоматизации системы и построения инструмента; Я - администратор по профессии. Недавно я начал новую работу в компании, которая хочет стандартизировать perl, для которой я не знаю. Поэтому мне нужно быстро добираться до скорости на perl и надеялся, что кто-то может указать на полезную ссылку, предназначенную для разработчиков/сценариев python, которые пытаются изучить основы perl. Я нашел этот о переходе от perl к python; Мне нужно обратное. Я купил книгу ламы, но еще не смог ее прочитать. Любые ввод/предложения?
Изучение Perl с точки зрения Python
Ответ 1
Прокрутите Llama (это будет легко), и когда вы закончите с этой проверкой Эффективное программирование на Perl и/или Современный Perl. Они помогут вам избежать ошибок, поощряемых всеми дерьмовыми учебниками, написанными в 1994 году, которые все еще, похоже, отражаются вокруг сети.
Потратьте время, чтобы проверить Moose и, в частности, MooseX:: Getopt
Кстати, мне нравится Perl больше, чем Python, но я не чувствую необходимости запускать Python каждый раз, когда он упоминается. WTF Pythonistas? Пожалуйста, подумайте, что ни один язык не идеален, и ни один язык не содержит "окончательную правду программирования". Как заметил Брукс, серебряной пули нет. У Python есть отличные вещи, у Perl есть некоторые вещи, которые великолепны. У Python есть кое-что, что дерьмо, у Perl есть вещи, которые дерьмо.
Ответ 2
Я знаю, что у вас уже есть книга, но из вашего описания я бы рекомендовал Автоматическое управление системой с помощью Perl
Ответ 3
Некоторые переводы типичных идиом python в perl:
- Понимание списка
[x * x for x in range(10)]
становитсяmap {$_ * $_} 0..9
- Фильтр
filter(x > 5, range(10))
становитсяgrep {$_ > 5} 0..9
- Функция
def f(x, y): return x + y
становитсяsub f { my ($x, $y) = @_; $x + $y }
Как быстрая ссылка на встроенные функции, я нахожу perldoc -f <function_name>
очень полезным.
Наконец, имейте в виду, что хотя одиночные строки (''
) и двойные кавычки (""
) идентичны в python, они не находятся в perl! Например, "$a\n"
будет интерполироваться, т.е. '$ A' будет заменено значением переменной $a.
Ответ 4
Я перешел с Python на Perl и на работу. Я также использовал Learning Perl, и это помогло мне хорошо изучить Perl в течение выходных, которые нужно взломать.
Лучший способ узнать Perl - прочитать этот учебник и использовать его. Вы можете переписать существующие проекты Python в Perl, чтобы ускорить изучение языка, если вы ищете упражнения.
Ответ 5
Лучше всего это просто работать через книгу Лламы и выполнять упражнения. И, исходя из Python, который имеет несколько схожий синтаксис, убедитесь, что вы пишете Perl вместо Python.