Resposta curta: aprenda os dois.
Você encontrará ambos como sysadmin, portanto, você desejará saber como ler / solucionar problemas / depurar ambos.
Quanto a escrever scripts, eu usei principalmente Perl nos últimos 10 anos para a maioria dos meus scripts de utilitário de sysadmin e "cola". Sua sintaxe regex é realmente simples, e se presta muito bem ao desenvolvimento de scripts extremamente rápido. Isso é muito importante quando você precisa fazer algo trabalhando no local.
Ultimamente, tenho me esforçado para usar mais Python pelas seguintes razões:
-
É preciso muita disciplina para escrever um bom Perl. Muitas vezes, um script "rápido e sujo" tem mais recursos introduzidos ao longo do tempo, mas ainda assim implementado de maneira apressada. Antes de muito tempo, você tem um arquivo de ruído de linha que é um PITA para manter.
-
Escrever código OO (ou mesmo reutilizável) em Perl não é fácil comparado ao Python. Acredite em mim, a longo prazo você quer um monte de código reutilizável (e não recortar e colar!)
-
Os princípios do Python (
import this
) são muito mais adequados para colaborar com os outros quando comparados ao princípio TMTOWTDI do Perl. Se você já leu o Perl de outra pessoa, pode saber que pode ser a coisa mais frustrante a ser resolvida. O Python sofre desse problema de ilegibilidade muito menos devido ao seu design. Pior ainda é quando você encontra seu próprio Perl depois de muitos anos. Você vai se perguntar em que ponto você deve ter desmaiado. -
A documentação é importante se o seu código estiver por perto. Escrever docstrings no Python é muito mais fácil do que escrever marcação de pods em Perl. Fácil o suficiente para que você possa realmente usá-lo.
Eu ainda uso bastante o Perl, mas agora é mais para scripts one-liners e "throwaway" que só serão executados uma vez. Se eu acho que vou editar o script novamente, eu considero o Python.