in reply to Re^3: CPAN Module for mixing Unix/Windows path
in thread CPAN Module for mixing Unix/Windows path

I surely must be missing something here. In what way my test is invalid? I just was curious what catdir would do, so I downloaded your code, stripped the lean_forward sub and added a print statement.
And was surprised by the output, as it contained a backslash.
File::Spec will never produce 'bar\baz' on your system
Well, it does. Double-checked it.
'bar\baz' would make a valid unix filename, so maybe File::Spec does not render the '\' as a path seperator?
  • Comment on Re^4: CPAN Module for mixing Unix/Windows path

Replies are listed 'Best First'.
Re^5: CPAN Module for mixing Unix/Windows path
by ikegami (Patriarch) on Jun 05, 2008 at 14:50 UTC

    Either '\' is a path separator or it's not. You can't have it both ways.

    If '\' is not a path separator, then it cannot be replaced with '/' and your test did return consistent and expected results, contrary to what you said.

    If '\' is a path separator, then it couldn't have been produced by File::Spec on your system and your test is invalid since the OP said that path is produced by File::Spec.

    The only system where it's safe or valid to change 'bar\baz' to 'bar/baz' is a Win32 system.