ricar escribiste:Pues, por ejemplo, que complemente el primer campo de las variables $A y $B y tercer campo de las mismas variables. Un campo se delimita por ",".
Using perl Syntax Highlighting
my $A = 'AA,BB,CC,RICAR';
my $B = 'X,33,,RICAR';
my @A = split /,/, $A;
my @B = split /,/, $B;
$A[0] = $A[0] . $B[0];
$A[2] = $A[2] . $B[2];
my $resultado = join ',', @A;
Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
ricar escribiste:¿se puede hacer un split() directo?, quiero decir, si quisiera coger el tercer campo directamente y teniendo en cuenta que la "," es el único valor seguro, ¿podría indicarle al split() que escoja lo que hay en la 3ª coma, por ejemplo? (¿me he explicado?)
No, split() no tiene esa posibilidad... pero ¡esto es Perl! así que es posible hacerlo:
Using perl Syntax Highlighting
my $tercer_campo = (split /,/, $A)[2];
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Explicación: split() devuelve una lista de valores con todos los campos partidos. Esa lista está "rodeada" por unos paréntesis, para "agruparlos". Y ya que tenemos una lista "de algo", podemos extraer su tercer elemento igual a como si fuese un
array del que sacamos su tercer valor.