One of the following two options should work for all cases you listed. I had to use two because I don't know what your desired result is for the 'href' line.
OPTION 1
If you want your example
"href="tbgl_SetMaterialDiffuse.htm">
to look like
"href="SetMaterialDiffuse.htm_gl">
you should use the following:
$tmp =~s/TBGL_([a-z]+(\.[a-z]+)?)/$1_gl/i;
OPTION 2 If you want that example to look like
"href="SetMaterialDiffuse_gl.htm">
use this:
$tmp =~s/TBGL_([a-z]+)/$1_gl/i;
I hope this helps :)
Here is a quick script to test the cases
#!/usr/bin/perl
use strict;
my @lines = (
'title>TBGL_SetMaterialDiffuse</title',
'Heading1">TBGL_SetMaterialDiffuse</span',
'href="tbgl_SetMaterialDiffuse.htm">',
'">tbgl_SetMaterialDiffuse</',
'f_Code_Keyword">TBGL_DeleteMaterial</span'
);
foreach my $tmp (@lines) {
print "$tmp\n";
#$tmp =~s/TBGL_([a-z]+(\.[a-z]+)?)/$1_gl/i; #case 1
$tmp =~s/TBGL_([a-z]+)/$1_gl/i; #case 2
print "$tmp\n\n";
}
|