🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #10204

Re: cuestion de perl

#10204
From: Jos� Luis P�rez Diez
Date: Thu, 21 Mar 2002 11:43
56 lines
2650 bytes
In article <a7a76t$jqtac$1@ID-59646.news.dfncis.de>, [ Z A T O P E K ] wrote:
> $email=@ARGV[1];
> 
> ##esto es nuevo
> open (acc, '/etc/mail/access');
> while(<acc>){
> my $linea=$_;
> if(=~/$email/u/)#aqui da el error
Canvia por if(=~/$email/i) o if($linea=~/$email/i)
 (mea culpa -i ignora mayusculas y minusculas-  man perlre para mas   
informacion)
 
Si no escapas caracteres que tengan relevancia en  expresiones reculares podria 
no darte los resutados requeriodos ( en el caso de un Email no tiene mucha 
importancia)v pero buscando pepe@aqui.com te encontraria tambien pep@aqui*com 
*cualquier caracter pudiendo eliminar alguna linea interesante.
para realizar las pruebas yo lo usaria como un filtro puro leer desde entrada 
estandar y escribir en salida estandar.
**************Codigo***********
usr/bin/perl
#Este esta probado
$n = @ARGV;
if ($n != 2) {
 printf ("Uso: usrdel buzon direccionemail\n");
 exit(1);
}

$user=@ARGV[0];
$email=@ARGV[1];

my $ParaDebug = 1;

sub aviso
   {
   my $mensage =$_[0];
   if ($ParaDebug) {print "\n$mensage\n";}
   } 

aviso "\$user: $user \$email :$email";
$email =~ s/\./\\./; #creamos expresion regular man perlre
                     #omitir si queremos eliminar por expresion regular
                     #podriamos a�adir si lo queres rodeado de blancos
aviso "\$user: $user \$email :$email";

while(<STDIN>)
  {
  my $linea=$_;
  if($linea =~ /$email/i)#aqui da el error 
    {aviso "eliminado"}
  else
    {print "$linea";}
  }
--
Los programadores esta ocupados intendtado mejorar los programas a prueba de 
idiotas. Mientras tanto el universo  intenta mejorar los idiotas. El universo 
va ganando
Technical Details
Message-ID: <VA.0000031e.008ea1c1@noemai.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!newsfeed.mad.ttd.net!news.bcn.ttd.net!not-for-mail
References: <a79pr5$jnm1r$1@ID-59646.news.dfncis.de> <a7a5gq$c37$1@news.unizar.es> <a7a76t$jqtac$1@ID-59646.news.dfncis.de>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,97a7023fec9bff1d
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2002-03-21 03:45:04 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news.rediris.es!newsfeed.mad.ttd.net!news.bcn.ttd.net!not-for-mail
From: Jos� Luis P�rez Diez <Jluis@noEmai.com>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: cuestion de perl
Date: Thu, 21 Mar 2002 12:43:10 +0100
Organization: JPD Co
Lines: 57
Message-ID: <VA.0000031e.008ea1c1@noemai.com>
References: <a79pr5$jnm1r$1@ID-59646.news.dfncis.de> <a7a5gq$c37$1@news.unizar.es> <a7a76t$jqtac$1@ID-59646.news.dfncis.de>
Reply-To: Jluis@noEmai.com
NNTP-Posting-Host: 195.77.105.176
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Newsreader: Virtual Access by Atlantic Coast PLC, http://www.atlantic-coast.com/va