Martin,

        I'm not entirely clear on what you're trying to do here, so if
this doesn't help, let me know and I'll try again.

        I think the problem is that you're doing this:

s/$ARGV[0]/\($ARGV[0]\)/g

        ...when you want to affect $ARGV[0].  But remember that s/// and
m// are, by default, applied to the contents of the $_ variable.  So, when
Perl sees that line of code above, it effectively rewrites it to be:

$_ =~ s/$ARGV[0]/\($ARGV[0]\)/g;

        Which, in English, means something like this:

"Go through the string stored in the $_ variable.  Look for a substring
which is identical to the string stored in $ARGV[0].  If you find it,
replace it with that same string with parens around it.  Finally, because
there is a 'g' option on the operation, do not stop after finding the
first match; continue through the contents of $_ and replace any other
matches you find."

        I think what you want instead is this:

$ARGV[0] = "($ARGV[0])";


Dave

         On Sun, 4 Nov 2001, Martin Karlsson wrote:

> Could anyone please show me the way to think here?
>
> If I execute a script with an argument, e.g monkey, then monkey will be
> found in $ARGV[0]. If I then want to highlight the word monkey by
> putting it in parentheses, i thought something like
> s/$ARGV[0]/\($ARGV[0]\)/g
> would do the trick; however it won't.
>
> Thanks,
> --
> ------------------------------------------------
> Martin Karlsson               [EMAIL PROTECTED]
>


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to