Pedro A Reche Gallardo wrote:
> 
> Hi All,

Hello,

> I was trying to generate variations of the 8  character string
> "AAAAAAAA" by changing every character with the elements containing in
> an array @aa = ('A', 'B', 'C', 'D'). The way I did it was quite naive,
> using a "for" loop that changes the A character at  position 1 of the
> AAAAAAAA string by all the characters in the @array,  and   repeating
> the for loop to change  the remaining  positions. Thus, I have 8 for
> loops in my code, and wonder how I can  achieve the same whithout having
> to write 8 times the for loop.   The actual code I am using is attached
> bellow. Any suggestion will be welcomed, and thanks in advance for the
> help.
> 
> #!/usr/sbin/perl -w
> use strict;
> my @aa =
> ('A','C','D','E','F','G','H','I','K','L','M','N','P','Q','R','S','T','V','W','Y');
> 
> my $i;
> my $l;
> $l = @aa;
> $l = $l -1;
> 
> for ($i= 0; $i <= $l; $i++) {
> printf "%3s %8s\n", "p1$aa[$i]", "$aa[$i]AAAAAAA";
> }
> 
> for  ($i= 1; $i <= $l; $i++) {
> printf "%3s %8s\n", "p2$aa[$i]", "A$aa[$i]AAAAAA";
> 
> }
> 
> for  ($i= 1; $i <= $l; $i++) {
> printf "%3s %8s\n", "p3$aa[$i]", "AA$aa[$i]AAAAA";
> }
> 
> for  ($i= 1; $i <= $l; $i++) {
> printf "%3s %8s\n", "p4$aa[$i]", "AAA$aa[$i]AAAA";
> }
> #
> for  ($i= 1; $i <= $l; $i++) {
> printf "%3s %8s\n", "p5$aa[$i]", "AAAA$aa[$i]AAA";
> }
> 
> for  ($i= 1; $i <= $l; $i++) {
> printf "%3s %8s\n", "p6$aa[$i]", "AAAAA$aa[$i]AA";
> }
> 
> for  ($i= 1; $i <= $l; $i++) {
> printf "%3s %8s\n", "p7$aa[$i]", "AAAAAA$aa[$i]A";
> }
> 
> for  ($i= 1; $i <= $l; $i++) {
> printf "%3s %8s\n", "p8$aa[$i]", "AAAAAAA$aa[$i]";
> }


#!/usr/sbin/perl -w
use strict;

my @aa = ( 'A','C'..'I','K'..'N','P'..'W','Y' );
my $word = 'AAAAAAAA';

for my $pos ( 0 .. length($word)-1 ) {
    for my $letter ( @aa ) {
        substr $word, $pos, 1, $letter;
        printf "%3s %8s\n", "p8$letter", $word;
        }
    substr $word, $pos, 1, 'A';
    }

__END__


John
-- 
use Perl;
program
fulfillment

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

Reply via email to