Here is one shot.

Wags 
============================================================================
=

Script starts after this line.
#!perl -w
y @MyInfo = ();
while ( <DATA> ) {
   chomp;
   next if ( /^\s*$/ );                         # Bypass any blanklines
   if ( ! /^\"([^"]+)\"\.\s+([^]+);(.+)/i ) { # If line starts w/ " then
grab all between " into $1
                                                          # Then should be
". and one or more spaces
                                                          # pull all that is
not a : into $2
                                                        # Then a ; and the
rest into $3
      printf "Expecting input as \"quote\". author;comments, but
received\n<$_>\n";
      next;
    }
   push( @MyInfo, [ $1,$2,$3]);           # push into #MyInfo as double
index array
                                                          # [x][0] = quote
                                                          # [x][1] = Author
                                                          # [x][2] =
Comments
 }
for(my $MyId=0;$MyId<=$#MyInfo;$MyId++) {       # pull out the data and
print
   printf "Quote: %-s\nAuthor: %-s\nComments: %-s\n", $MyInfo[$MyId][0], 
                                                      $MyInfo[$MyId][1],
                                                      $MyInfo[$MyId][2];
 }
__DATA__
"Hablar es el arte de sofocar e interrumpir el pensamiento". Thomas Carlyle
(1795-1881); historiador y ensayista escocés.
"Se aprende más por lo que la gente habla entre sí o por lo que
sesobrentiende, que planteándose preguntas". Rudyard Kipling (1865-1936);
escritor inglés, de origen indio.
"Hay palabras que suben como el humo, y otras que caen como la lluvia".
Marquesa de Sévigné,(1626-1696); escritora francesa.
"El destino es el que baraja las cartas, pero nosotros somos los
quejugamos". William Shakespeare (1564-1616); poeta y dramaturgo inglés.
^---------- Script ends here

Output:
Quote: Hablar es el arte de sofocar e interrumpir el pensamiento
Author: Thomas Carlyle (1795-1881)
Comments:  historiador y ensayista escoc?s.
Quote: Se aprende mßs por lo que la gente habla entre s? o por lo que
sesobrenti
ende, que planteßndose preguntas
Author: Rudyard Kipling (1865-1936)
Comments:  escritor ingl?s, de origen indio.
Quote: Hay palabras que suben como el humo, y otras que caen como la lluvia
Author: Marquesa de S?vign?,(1626-1696)
Comments:  escritora francesa.
Quote: El destino es el que baraja las cartas, pero nosotros somos los
quejugamos
Author: William Shakespeare (1564-1616)
Comments:  poeta y dramaturgo ingl?s.

-----Original Message-----
From: Eduardo Cancino [mailto:[EMAIL PROTECTED]]
Sent: Thursday, May 09, 2002 12:42
To: List Beginners Perl
Subject: Regexp


Hello!

I have a lot of trouble understanding regexes, i just don't get how to parse
a file with:

"Hablar es el arte de sofocar e interrumpir el pensamiento". Thomas Carlyle
(1795-1881); historiador y ensayista escocés.
"Se aprende más por lo que la gente habla entre sí o por lo que se
sobrentiende, que planteándose preguntas". Rudyard Kipling (1865-1936);
escritor inglés, de origen indio.
"Hay palabras que suben como el humo, y otras que caen como la lluvia".
Marquesa de Sévigné,(1626-1696); escritora francesa.
"El destino es el que baraja las cartas, pero nosotros somos los que
jugamos". William Shakespeare (1564-1616); poeta y dramaturgo inglés.

I need to separate for print the quote, then the name and the coments.

Could someone give me some pointers??

Thanks!


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to