Qué fallo tonto. En realidad $0 es el nombre del fichero, luego $-[0] (que correspondería a él) en realidad no tiene sentido. El correcto sería el de abajo. while(<>) { my @paraules = /(\w+)\s+(\w+)$/; print "$paraules[0]: $-[1]; $paraules[1]: $-[2]\n"; } JJ