Oh, hey, didn't see this response.  Ignore mine.  This is better. :) I
really need to start using substr().  One question, though.  Are there any
caveats or down sides to using it?

-----Original Message-----
From: John W. Krahn
To: [EMAIL PROTECTED]
Sent: 3/22/02 12:46 PM
Subject: Re: string question

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]


--------------------------------------------------------------------------------
This email may contain confidential and privileged 
material for the sole use of the intended recipient. 
If you are not the intended recipient, please contact 
the sender and delete all copies.

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

Reply via email to