[Cascavel-pm] busca em arquivo
Luis Motta Campos
luismottacampos em yahoo.co.uk
Terça Outubro 24 01:08:16 PDT 2006
Diego Mendes Teixeira wrote:
> Nelson,
>
> O que seria esses "use strict" e "use warnings"??
> Vejo como uma vantagem na linguagem perl não ter que declarar
> variaveis.... porque voce diz ser uma boa pratica???
Do manual de cada um dos pragmas:
strict - Perl pragma to restrict unsafe constructs
(Pragma para restringir construções inseguras)
warnings - Perl pragma to control optional warnings
(Pragma para controlar avisos opcionais)
diagnostics, splain - produce verbose warning diagnostics
(produz avisos de diagnóstico verborrágicos)
Basicamente, é o seguinte: sem restringir o tipo de construção que se
pode usar, depois de umas quinhentas linha de código seu programa vai
começar a falhar e a apresentar problemas estranhos, que você não
consegue consertar.
Depois de mêses de investigação, vai com muita sorte descobrir que
declarou duas vezes uma variável, e que o seu problema todo era isso:
quando o usuário chamava primeiro uma sub e depois a outra, tudo bem;
mas, quando acontecia o contrário, e seu usuário chamava primeiro outra
sub e depois a uma, dava pau violento daí a três dias, na mão do próximo
carinha que estivesse usando o programa.
Sem historinha: usamos estes três pragmas para auxiliar a programação.
Eles impedem que você escreva bobagens que eventualmente o Perl vai
levar a sério.
Você pode muito bem passar sem eles, mas está programando por usa
conta e risco. Normalmente, as pessoas não dispensam salvaguardas e
proteções para trabalhar.
Claro, se você vai escrever qualquer coisa muito pequena apenas para
arrumar qualquer coisa errada com seu sistema de arquivos, ou um
hackzinho para saber como vai o processo X, então pode usar perl sem
estas coisas sem problema. Mas, se pretende pegar a via Dutra, sentido
Rio-Sampa, numa noite com chuva torrencial, aconselho usar o "cinto de
segurança". ;-)
Putamplexos!
--
Luis Motta Campos
Senior System Engineer at Segula.FR
Hobbyist Cooker and Photograph
Mais detalhes sobre a lista de discussão Cascavel-pm