Farrell, Patrick wrote:
This is roughly what I am trying to do. Surround lower case strings within a 
string with tags.

===========================================================
$msgText="THIS IS MY test STRING";

$msgText =~ m/ [a-z]+ /; #or $msgText =~ /\s[a-z]+\s/;

if(defined($1)){

That won't work correctly because 1) you have no capturing parentheses in your pattern, and 2) if the match failed $1 could be left over from a previous match.


$1=~ s/\s+//g;

$1, like all the numeric variables, is READ-ONLY and cannot be modified.


        $msgText =~ s/$1/ <bold>$1<\/bold> /;
}


Print "\n$msgText";

Perl is case sensitive so that should be:

print "\n$msgText";


=======================================================


I get the following:

THIS IS MY test STRING

But I wanted expected this:

THIS IS MY <bold>test<\/bold> STRING

$ perl -le'
my $msgText = "THIS IS MY test STRING";
print $msgText;
$msgText =~ s!(?<= )([a-z]+)(?= )!<bold>$1</bold>!g;
print $msgText;
'
THIS IS MY test STRING
THIS IS MY <bold>test</bold> STRING




John
--
Those people who think they know everything are a great
annoyance to those of us who do.        -- Isaac Asimov

--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to