Irfan Sayed wrote:
> Hi All,
> 
> I am stuck on parsing file name if it has space.
> I have file name as : file system.proj
> now this file contains space between worf file and system
>  
> now i want to do ceratin operation on this file 
> but whenever i give this file name in any command then it fails saying that 
> file does not exist. it is only considering file word and not the whle file 
> name.
>  
> i dont know how to handle this sitiuation . i tried applying double quotes to 
> file name but no luck.
>  
> here is my actual code:
>  
> $vd="file system.proj";
>  $svn = "svn delete $vd";

I don't understand why you have 'file' before the filename.

When I delete something from my repository, I do it like this (at the
Unix command line):

% svn delete path/to/file.name

or;

% svn delete path/to/dir

(we'll ignore the co command for now).

So, if I were to come up with something to throw in a variable for your
example, I'd build (at minimum) something like this (untested):

---- code ----

use warnings;
use strict;

my $file = "path/to/system.proj";

svn_delete($file);

sub svn_delete {

    validate_file_name($_); # outside the scope of example
    validate_svn_exist($_); # outside the scope of example

    my $svn_file_to_delete  = shift;
    my $svn_delete_command  = "svn delete ${svn_file_to_delete}";

    system($svn_delete_command);
}

---- end code -----

...and then IMMEDIATELY follow that up with:

% svnversion
% svn log
% svn diff

Until you can be sure that your code doesn't *ever* do the wrong thing.

I don't think it's wise to toss repository commands into a
non-descriptive variable such as $svn. If that var is ever used again by
accident (in, or out of scope), you could be in trouble.

Steve

ps. Thanks Chas, for the interpolation reminder.

pps. I immediately saw where 'unless' would be a fantastic addition to
my above sample code...I'm just hoping that by avoiding writing it in, I
wouldn't be caught on my last post, because no one ever reads a pps.


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to