perhaps use qr// to "precompile" the search instead and use that new
precompiled var within your loop so you don't evaluate the if conditions
each looptime.
my $search;
if ( $WholeMatchOnly )
{
if ( $IgnoreCase )
{ $search = qr/^\($pattern\)$/i }
else
{ $search = qr/^\($pattern\)$/ }
}
else
{
if ( $IgnoreCase )
{ $search = qr/\($pattern\)/i }
else
{ $search = qr/\($pattern\)/ }
}
while( something ){
$somthing =~ $search;
## and more!
}
> -----Original Message-----
> From: David T-G [mailto:[EMAIL PROTECTED]]
> Sent: Friday, June 07, 2002 8:43 AM
> To: perl beginners
> Subject: changing behavior by user command
>
>
> Hi, all --
>
> So I have this mp3 database script idea and I'm starting to
> move into it
> (it feels good to think perlishly again, and I'm going to
> want to be able
> to ignore case or not and search on substrings or not in my
> code. That's
> always been a problem for me: how can I modify my behavior based on
> conditions?
>
> Clearly I could do something like (but probably not exactly
> like; I have
> no idea whether or not this would parse but instead just want
> to set the
> example)
>
> if ( $WholeMatchOnly )
> {
> if ( $IgnoreCase )
> { /^\($pattern\)$/i }
> else
> { /^\($pattern\)$/ }
> }
> else
> {
> if ( $IgnoreCase )
> { /\($pattern\)/i }
> else
> { /\($pattern\)/ }
> }
>
> but that, even sucked up like it is, is long, drawn-out, and
> a stinker to
> maintain. Is there a way to do something like
>
> if ( $WholeMatchOnly )
> { $ABeg = '^' ; $AEnd = '\$' }
> if ( $IgnoreCase )
> { $MOpts =. 'i' }
>
> /$ABeg$pattern$AEnd/$MOpts
>
> so that the match is configured dynamically based on the conditions
> going into it?
>
>
> TIA & HAND
>
> :-D
> --
> David T-G * It's easier to fight for
> one's principles
> (play) [EMAIL PROTECTED] * than to live up to them. --
> fortune cookie
> (work) [EMAIL PROTECTED]
> http://www.justpickone.org/davidtg/ Shpx gur
> Pbzzhavpngvbaf Qrprapl Npg!
>
>
----------------------------------------------------------------------------
--------------------
The views and opinions expressed in this email message are the sender's
own, and do not necessarily represent the views and opinions of Summit
Systems Inc.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]