Hola FluiD:
Esta es mi version
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
my $a = 'aaa
bbb
ccc';
my $b = '111
112
113';
my $fh = undef;
open($fh,"<",\$a);
my %hash;
my $i=0;
while(<$fh>){
# Sacamos las letras del primer archivo (suponiendo que cada línea en el archivo tenga 3 letras)
my @array;
@array = $_ =~ m/(\w)+(\w)+(\w)+/x;
$hash{"$i"} = \@array;
$i++;
}
# Lo mismo para el segundo archivo
my $fh1 = undef;
open($fh1,"<",\$b);
my %hash1;
my $i=0;
while(<$fh1>){
# Sacamos los numeros
my @array1;
@array1 = $_ =~ m/(\d)+(\d)+(\d)+/x;
$hash1{"$i"} = \@array1;
$i++;
}
foreach my $k (sort keys %hash){
# $i mantiene el valor anterior
for(my $j=0; $j < $i; $j++){
# Imprime en pantalla, pero lo puedes guardar claramente
print sprintf "%- 10s".${$hash{$k}}[$j];
print sprintf "%- 10s".${$hash1{$k}}[$j];
}
print "\n";
}
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
Pero claramente puede hacerse menos complicada
... Esto funciona si el largo de la fila es igual en ambos archivos y además tienen la misma cantidad de líneas
pd: El archivo lo puedes abrir como...
Using perl Syntax Highlighting
open(F,"<archivoA");
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
y lo recorres...
Using perl Syntax Highlighting
while(<F>){
# y aquí pones que saque los números o letras...
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Saludos¡¡¡
No es lo que pediste :s.. jajaja, pero creo que es bastante cerca de lo que pedias
Using text Syntax Highlighting
a 1 a 1 a 1
b 1 b 1 b 2
c 1 c 1 c 3
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Eso es lo que muestra, pero basta con que imprimas distinto
basta que cambies el foreach asi...
Using perl Syntax Highlighting
foreach my $k (sort keys %hash){
foreach(@{$hash{$k}}){print $_;}
foreach(@{$hash1{$k}}){print $_;}
print "\n";
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Mis disculpas por no leer bien o recordar qué era lo que pedías... Pero estas cosas suceden