[vox-tech] quoting question in perl

Jeff Newmiller vox-tech@lists.lugod.org
Thu, 20 Dec 2001 18:06:44 -0800 (PST)


On Thu, 20 Dec 2001, Peter Jay Salzman wrote:

> begin Micah Cowan <micah@cowanbox.com> 
> > On Thu, Dec 20, 2001 at 05:06:29PM -0800, Peter Jay Salzman wrote:
> > > if you have:
> > > 
> > > system("rm $filename");
> > > 
> > > and $filename = "a file", you get an error because you're trying to delete
> > > two files, "a" and "file".
> > > 
> > > what's the proper way of quoting $filename so that the shell sees the file
> > > "a file" and not the two non-existant files "a" and "file"?
> > > 
> > > pete
> > 
> > Well, the direct answer to your question would be to use:
> > 
> >   system("rm '$filename'");
> > 
> > or something similar so that the shell sees the quoting.
>  
> cool.  i didn't know that the shell would see $filename when it's enclosed in
> single forward quotes.

It won't.  The shell will see the value substituted by perl...

 rm 'a file'

---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil@dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...2k
---------------------------------------------------------------------------