SoloCodigo

Programación Web y Scripting => Perl => Mensaje iniciado por: su - en Sábado 2 de Julio de 2005, 23:17

Título: Un $ O Un Programa Para Extraerlo
Publicado por: su - en Sábado 2 de Julio de 2005, 23:17
Hey SoloCodiger@s, les tengo una pregunta que quisas los ponga a romper coco   :brickwall:

Tengo un testo plano de X lineas, palabras....
De este, quiero sacar una palabra, por ejemplo :

Tengo esto :

Hola a : su -
de : su - * 2

y quiero sacar de la linea 1 y 2 lo que esta al lado de los dos puntos ( : )
Como ago esto?  ;)
Título: Re: Un $ O Un Programa Para Extraerlo
Publicado por: su - en Miércoles 6 de Julio de 2005, 16:55
:lol:  Ja, ja
Bamos!
 :huh:  map, split, grep s// ?
Título: Re: Un $ O Un Programa Para Extraerlo
Publicado por: su - en Viernes 8 de Julio de 2005, 03:45
:devil:  Je, je, je! no pudieron.
Bueno, bueno, les doy el codigillo.
Citar
sub sdlp {
  my ($testo, $num) = @_;;
  my @linea   = split /\n/, $testo;
  my $numas = $num + 1;
  if( grep {$linea[$num] eq /\b([^a-zA-Z0-9\.\-\+\~]):([^a-zA-Z0-9\.\-\+\~])\b/i}$head){print "$linea[$num]\n";}
  else {sdlp($testo, $numas)};
}
sdlp("$mi_archivo", 0);

Bueno, es algo parecido

Nota en la  :(  del codigo en la linea 5 es en realidad : ( (sin espacio)
Título: Re: Un $ O Un Programa Para Extraerlo
Publicado por: explorer en Sábado 8 de Julio de 2006, 23:40
Código: Text
  1. #!/usr/bin/perl -l
  2. use warnings;
  3. use strict;
  4.  
  5. my $fichero = 'mensajes.txt';
  6. open my $fh, '<', $fichero
  7.     or die "ERROR: No pude abrir el fichero $fichero: $!\n";
  8.  
  9. while ( my $linea = <$fh> ) {
  10.     chomp( $linea );
  11.     if ( $linea =~ /(\w+) *: *(\w+)/ ) {
  12.         print "$1 : $2";
  13.     }
  14. }
  15.  
  16. close $fh;
  17.