my $str = 'Fsih my test variable is fsihd or is it gfsih or gfsih
+d fsih';
# 1111 2222 3333
+ 4444
my $substr = 'fsih';
my $regexp = qr/\Q$substr\E/;
my $replace = 'fish';
my $instance = 3; # 3rd
print("$str\n");
my $pre_count = $instance - 1;
$str =~ s/((?:$regexp.*?){$pre_count})$regexp/$1$replace/;
print("$str\n");
You might have noticed both of these are case sensitive. Both can be made case-insensitive. The non-regexp version is most likely much faster. The regexp version can handle regexps instead of constant strings.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|