Apologies, no regex being used here. Actu ally the question lies in why is the
difference seen between when i use
$cmd_1 = "$prog -o $formatStr $queryStr";
and
$cmd_2 = "$prog -o \"%xxxx#%yyyy#%zzzzz\" $queryStr"; ## this is Ok.
In cmd 1 formatStr is equal to '"%xxxx#%yyyy#%zzzzz' (same as seen in cmd 2
except here dbl quotes exists as it is), and the single quotes are necessary.
Cheers.
--- On Thu, 12/11/08, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> From: [EMAIL PROTECTED] <[EMAIL PROTECTED]>
> Subject: Re: escape some char
> To: [EMAIL PROTECTED]
> Date: Thursday, December 11, 2008, 5:03 PM
> hi --
>
> In a message dated 12/11/2008 6:06:45 A.M. Eastern Standard
> Time,
> [EMAIL PROTECTED] writes:
>
> > Hi,
> >
> > Can someone pls shed me some light>>
> >
> > I have a func --
> >
> > sub get_formatStr {
> > my $formatStr =
> '"%xxxx#%yyyy#%zzzzz"';
> > return $formatStr;
> > }
> >
> > where in above, %xxx, %yyy & %zzz are literals
> > & all three being delimeted by '#'
> > and the combination should always be enclosed by
> double quotes.
> >
> > I have to use this string in a regex as below-
> > $cmd = "$prog -o $formatStr $queryStr";
> ## first $cmd
> > But this cribs in cmd execution and o/p bangs!
> > However
> > $cmd = "$prog -o
> \"%lxxxx#%yyyy#%zzzzz\" $queryStr";
> ## second $cmd.
> > works fine & supplies expected o/p.no issues with
> $queryStr too.
> > Now, problem arises when I use the first $cmd.
> > Is there any way (built in funcs or tekniks) where in
> I can
> > use the first $cmd and still get the good o/p as from
> second $cmd ?
> >
> > TIA
>
>
> i cannot see why the two strings should differ and hence
> why there should
> be any difference in their effect.
>
> i suspect you are not showing all relevant code.
>
> try this and see if the two strings are indeed exactly
> equal:
>
> my $fs = formatStr();
> my $cmd_1 = "$prog -o $fs $queryStr";
> my $cmd_2 = "$prog -o
> \"%xxxx#%yyyy#%zzzzz\" $queryStr";
> $cmd_1 eq $cmd_1 or die ":$cmd_1: not really
> :$cmd_2:";
>
> (btw -- although you do not show any such code, you mention
> using
> the format string returned from the function formatStr() in
> a regex.
> are you aware that the '#' character is a
> 'comment-to-end-of-line' when
> used in a regex with the regex //x switch?)
>
> hth -- bill walters
>
>
> **************Make your life easier with all your friends,
> email, and
> favorite sites in one place. Try it now.
> (http://www.aol.com/?optin=new-dp&icid=aolcom40vanity&ncid=emlcntaolcom00000010)
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs