[bcn-pm] pregunta: unio de dues cadenes de caracters
Joaquin Ferrero
explorer a joaquinferrero.com
dll set 21 06:48:36 PDT 2009
Albert Vilella escribió:
> Hola,
>
> Estic buscant una manera elegant de fer la unió de dues cadenes de
> caràcters. Per exemple:
>
> $seq1 = "--- --- GAA --- GGA";
> $seq2 = "AAC TGG --- --- ---";
>
> La norma és que es mantingui el "-" quan ambdues ho tenen, però
> s'esculli la lletra quan una contingui lletra:
>
> $unio = "AAC TGG GAA --- GGA";
>
> Potser mitjançant una expressió regular?
>
Quizás así:
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
my $seq1 = "--- --- GAA --- GGA";
my $seq2 = "AAC TGG --- --- ---";
print "[$seq1]\n";
print "[$seq2]\n";
(my $guion= $seq1 | $seq2) =~ s/[^- ]/chr 0x40/ge;
print "[$guion]\n";
$seq1 =~ s/-/chr 0x0/ge;
$seq2 =~ s/-/chr 0x0/ge;
print "[$seq1]\n";
print "[$seq2]\n";
my $seq = $seq1 | $seq2 | $guion;
print "[$seq]\n";
__END__
Hummm... 3 expresiones regulares y 3 operaciones lógicas...
No es muy elegante :(
--
JoaquinFerrero.com Linux User #109802
Més informació sobre la llista de correu Barcelona-pm