|
Deseja expor aqui seu código/script/função do Perl comentado?
Mande um e-mail para contato@cgiclube.net
Achando uma linha em seu script Perl.
O script abaixo mostra seu script Perl e a devida linha aonde cada parte do seu script está.
Ele pode te ajudar bastante caso você tenha um script muito grande e de um erro (por exemplo) na linha 437. Caso ocorra um erro assim como você, use o script abaixo para localizar essa linha.
O código está comentado, logo, dispensa maiores explicações.
Bom uso!
#!/usr/bin/perl
# By João Gabriel # vitoria.pm.org # www.cgiclube.net
use CGI; # Carrega o módulo CGI use CGI::Carp qw( fatalsToBrowser ); # Carrega o módulo que mostra possiveis erros neste script. use strict; # Carrega módulo que obriga a declarar variaveis. Isso evita erros em alguns scripts. use warnings; # Mostra alertas de erros.
use vars qw(@html @bd $script $body $counter $essescript $query); # Declara variaveis como globais
$query = new CGI; $script = $query->param("script"); $essescript = $ENV{'SCRIPT_NAME'}; # Variaveis do script
print "Content-type: text/html\n\n"; # Imprime cabeçalho de texto e html
if($script) { # Se houver script definido...
open(BD,"$script") or die print qq~ Erro ao abrir o arquivo $script: $! ~; @bd = <BD>; close(BD);
foreach $body (@bd) { $body =~ s/</</ig; #subistituindo < por < $body =~ s/>/>/ig; #subistituindo > por > # As variaveis acima, fazem o html virar texto. ++$counter; # Adicona + 1 ao contador.
$body =~ s/\t/ /gi; # Troca tabulação por espaços. $body =~ s/ / /gi; # Troca espaços por espaços em código.
$body = qq~<tr><td><font size="2">$counter </font></td><td><font size="2">$body</font></td></tr>~; push(@html, "$body"); # Gera html que será impresso }
print "<table border=0 cellspacing=0 cellspanding=0>@html</table>"; # Imprime
} else { # Caso contrario...
print "Defina um arquivo! Sintaxe: $essescript?script=<b>path para o seu script</b>"; # Mensagem de erro caso o script não tenha um arquivo definido. } |
2986 visualizações. Postado por João Gabriel em 20/05/2005.
<< Voltar
|