if( $text =~ /$query/i ) { while ( $text =~ /$query/gi ) { do_something(); } } elsif( $text =~ /$query_modified/i ) { while ( $text =~ /$query_modified/gi ) { do_something_different(); } } else { ## Is this possible? }