On Thursday, May 30, 2002, at 08:28 , Rohesia Hamilton Metcalfe wrote:
> # pick one at random
> srand;
> $RandomScript = $Scripts[int(rand(@Scripts))];
>
> #here's the non-working regex:
> $ScriptName =~ s/$RandomScript/\w{3,}\b/;
>
> $RandomScriptURL = "path/".$ScriptName.".htm";
>
> ##################################
>
> Everything here is working except my attempt at a regex. I'm trying to
> get rid of "f-" at the begining and the ".cgi" at the end. I thought
> \w{3,}\b would get me the first block of word characters that came in a
> set of three or more until the end of the word. I'm getting nothing at
> all from this and am not sure what I'm missing.
[..]

I absolutely agree with Jeff 'japhy' Pinyan <[EMAIL PROTECTED]>
on the main thrust since a simple piece of perl like

        my @Scripts=("f-aaaa.cgi", "f-bbbbbb.cgi", "f-cccc.cgi", "f-dddd.cgi",
        "f-eeeeee.cgi", "f-ffffff.cgi");

        # pick one at random
        srand;
        my $RandomScript = $Scripts[int(rand($#Scripts + 1))];

        print "J Randome Script name :$RandomScript:\n";
        #
        # now to make it sans f- with
        my ($ScriptName) = $RandomScript =~ /(\w{3,}\b)/;
        print "J Randome Script name :$RandomScript: undt :$ScriptName:\n";

will show you that you get into $ScriptName - what you want.

I am also a bit concerned with trying to seed rand() with a
list, rather than say, the count of the list as noted above.

never be afraid to step aside, whip out a silly bit in YourTmpDirHere
and bash the semantics till it does what you really want...
since you do recall that it provides for a random value
from 0 to less than expr - hence you want (index + 1) so
that you can get your last element in the list....

ciao
drieux

---


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

Reply via email to