[CODE] Editor de Textos - Perl

Started by rodweb, 06 de June , 2006, 06:39:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

rodweb

Este foi meu primeiro script em Perl, tentei fazer da minha forma lógica como seria um editor...mais é só pra estudo, nunca ele vai superar o vi auuhauh

quando terminarem de editar o texto digite ".exit" pra sair...

Editor de Textos

#!/usr/bin/perl
#Programa: RØD Write
#Versão: 1.2
#SO's: Linux e Windows
#Descrição: Editor de texto não gráfico
#Coded By: Ø Rodrigo Ø - Digital Underground Group

$ver="v. 1.2";                                   

print "\n+---------------[RØD Write]---------------+\n";
print "|---------------------------------$ver--|\n";     
print "|                                         |\n";   
print "| Editor de Texto não gráfico             |\n";   
print "|                                         |\n";   
print "| Coded By Ø Rodrigo Ø                    |\n";   
print "+-----------------------------------------+\n\n";
sleep 3;                                         

print "  +==========[Menu de Opções]===========+\n"; 
print "  | [1] Criar um novo arquivo de texto. |\n"; 
print "  | [2] Ler um arquivo de texto. (*.txt)|\n"; 
print "  | [3] Ver Sobre & Ajuda               |\n"; 
print "  | [0] Sair do programa.               |\n"; 
print "  +-------------------------------------+\n"; 
print "   Digite a opção desejada: ";                 
$opcao=<STDIN>;                                       
chomp($opcao);

if ($opcao eq "1")                                   
{                                                     
&criar;                                               
}                                                     
elsif ($opcao eq "2")                                 
{                                                     
&abrir;                                               
}                                                     
elsif ($opcao eq "3")                                 
{                                                     
&help;                                               
}                                                     
elsif ($opcao eq "0")                                 
{                                                     
exit                                                 
}                                                     
                                                     
sub tirar                                             
{                                                     
if ($nome =~ /[.txtTXT]/)                             
{                                                     
$nome =~ s/.txt//gi;                                 
}                                                     
}                                                     
                                                     
sub abrir                                             
{                                                     
local($read);                                         
print "\nDigite o nome do arquivo: ";                 
$nome=<STDIN>;                                       
chomp($nome);                                         
&tirar;                                               
if (-e "$nome\.txt")                                 
{                                                     
}                                                     
else                                                 
{                                                     
print "\nArquivo não encontrado!\n";                 
exit                                                 
}

print "\n\nVisualização do arquivo abaixo:\n";     
print "--------------------------------------------------"; 
open(ARQ,"$nome\.txt");                                     
read(ARQ,$read,999999999);                                   
print "\n\n",$read,"\n";                                     
close(ARQ);                                                 
print "--------------------------------------------------\n";
}
                                                             
sub criar                                                   
{                                                           
print "\nDigite o nome para o arquivo de texto: ";           
$nome=<STDIN>;                                               
chomp($nome);                                               
&tirar;                                                     
                                                             
if (-e "$nome\.txt")                                         
{                                                           
print "\n\nEste arquivo ja existe. Deseja sobreescreve-lo?  - =[n] "; 
$regravar=<STDIN>;                                                       
chomp($regravar);                                                         
if ($regravar ne "s")                                                     
{                                                                         
exit                                                                     
}                                                                         
}                                                                         
                                                                         
open(ARQ,">$nome\.txt");                                                 
print "\n\nArquivo $nome\.txt criado e pronto para edição!\n";           
print "\nDigite o texto abaixo:\n";                                       
print "--------------------------------------------------\n";                                                                                       
while ($texto ne ".exit")                                                 
{                                                                         
$texto=<STDIN>;                                                           
chomp($texto);                                                           
push(@linhas,$texto);                                                     
}                                                                         
pop(@linhas);                                                             
foreach $linhas (@linhas)                                                 
{                                                                         
print ARQ $linhas,"\n";                                                   
}                                                                         
close(ARQ);                                                               
print "--------------------------------------------------\n\n";                                                                                     
if (-e senha.txt)                                                         
{                                                                         
print "\nO arquivo não foi salvo.\n";                                     
}                                                                         
else                                                                     
{                                                                         
print "\nArquivo salvo com sucesso!\n";                                   
}                                                                                                                                                   
}
                                                                         
sub help                                                                 
{                                                                         
print "\n+-------------[Sobre & Ajuda]-------------+\n";                 
print "|---[Sobre]-------------------------------|\n";                   
print "| Coder: Ø Rodrigo Ø                      |\n";                   
print "| SO's: Linux e Windows                   |\n";                   
print "| Grupo: Digital Underground              |\n";                   
print "| Linguagem: Perl                         |\n";                   
print "+-----------------------------------------+\n\n";                 
print "+---[Ajuda]-------------------------------+\n";                   
print "|Micro FAQ:                               |\n";                   
print "|1) Para fechar o arquivo digite \".exit\"  |\n";                 
print "+-----------------------------------------+\n\n";                 
print "+---[Como ajudar?]------------------------+\n";                   
print "|Para dúvidas, críticas ou sugestões...   |\n";                   
print "|GTalk e Msn: rodrigo.rodweb2005\@gmail.com|\n";                   
print "+-----------------------------------------+\n\n";                 
exit                                                                     
}

Flws...

Shady

Excelente... ja me passou em perl -.- preciso voltar a estudar hehehe


Mundus Vult Decipi

rodweb

Quote from: "Shady"Excelente... ja me passou em perl -.- preciso voltar a estudar hehehe

ainda não to nem perto :P