Hi,

I limited to just the trailing backslash because I was confident that that 
would work in all cases I know of.

I'm not sure if '//server/share' would work nor am I entirely confident I've 
thought of all the ways a path can be constructed in the Windows/Samba world. I 
am as confident as one can be that just changing the trailing backslash would 
work.

I took a look at Module::ScanDeps::DataFeed which is another module where the 
trailing backslash issue is addressed. That module escapes the trailing slash 
with

join(',', map("\n\t'$_'", map {s/\\$/\\\\/; $_} @inc));

I have no preference between the two methods, but as the two modules are often 
used together, would it be a good idea to take a common approach in both 
modules?

I will prepare/test patch that escapes the trailing backslash in Base.pm and 
post + apply.

Regards

Mark





Steffen Mueller wrote:
> Hi Mark,
> 
> Mark Dootson schrieb:
>> Is it possible to have full UNC paths in @INC?
>> For this and other cases the attached patch works too.
> 
> For those not in the know: UNC paths are mostly the \\Server\Share\Dir
> syntax commonly seen in Windows/Samba shares. To be entirely honest, I
> had to look that up. :)
> 
> I never really thought about this. I would guess such paths break all
> kinds of regular expressions in various places. Not just in PAR and its
> companion modules but perhaps also in perl itself, File::Spec, etc.
> 
> But it's something to keep in mind. Better to be safe than sorry.
> 
> About the code:
> Why s/\\+$/\//? Is replacing just a trailing backslash with a slash a
> good idea? s/\\/\/g would have done, too, wouldn't it? (perl doesn't
> care about / vs \ in paths.) Or removing any trailing (back-)slash  in
> the first place: s/(?:\\|\/)$//?
> 
> I think your patch isn't clumsy at all. "elegant", "one-line",
> "readable", pick two. :)
> 
> I assume you did the replacement of just one path separator in order to
> change the string as little as possible, after all c:\foo\ is
> semantically more similar to c:\foo/ than to c:\foo.
> 
> Can you apply your patch yourself?
> 
> Steffen
> 


Reply via email to