Article View: es.comp.os.linux.programacion
Article #10204Re: cuestion de perl
From: Jos� Luis P�rez Diez
Date: Thu, 21 Mar 2002 11:43
Date: Thu, 21 Mar 2002 11:43
56 lines
2650 bytes
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-mailReferences:
<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