passando uma variável nomeada como argumento de linha de comando para um script perl

1

awk oferece uma maneira conveniente de passar variáveis nomeadas para um script usando o -v flag (por exemplo, awk -v var="value" ... ), um recurso bastante útil ao compor scripts ad hoc. O mesmo pode ser feito com Perl ou alguém precisa recorrer a argv , getopts , %ENV , interpolação pelo shell através de cotação apropriada, etc.? A opção -s pode fornecer o efeito desejado, mas é limitada a valores booleanos.

    
por user001 08.11.2017 / 19:41

1 resposta

4

Obrigado a meuh por apontar o uso da opção -s para o propósito de passar dados arbitrários em vez de simplesmente alternar opções; Após uma investigação mais aprofundada, a sintaxe correta para o uso de uma linha da opção -s acabou sendo a seguinte:

$ perl -se 'print "xyz=$xyz\n"' -- -xyz="abc"
xyz=abc
    
por 08.11.2017 / 20:34

Tags