Nathan Wiger <[EMAIL PROTECTED]> writes:

> With URI support, you still have to contort a little, but not as much.
> Here's some better examples from an email I sent earlier:
> 
>    $fo = open "file://c/docs/personal";
> 
>    # Unix = /docs/personal    # here, 'c' becomes '/'
>    # Mac  = :docs:personal    # here, 'c' becomes ':'
>    # Win  = c:\docs\personal

This is how current URI.pm maps file: URIs similar this one for
various platforms.

#!/usr/bin/perl

use URI;

for $uri ("file://c/docs/personal",
          "file://c|/docs/personal",
          "file:///docs/personal",
          "file:/docs/personal",
          "file:docs/personal",)
{
    my $u = URI->new($uri);
    print "\n$u\n";
    for $os (qw(unix mac win32)) {
        printf "%-5s %-20s %-20s\n", $os, $u->file($os), $u->dir($os)
    }
}
__END__

file://c/docs/personal
unix  //c/docs/personal    //c/docs/personal   
mac   c:docs:personal      c:docs:personal:    
win32 \\c\docs\personal    \\c\docs\personal   

file://c%7C/docs/personal
unix  //c|/docs/personal   //c|/docs/personal  
mac   c|:docs:personal     c|:docs:personal:   
win32 C:\docs\personal     C:\docs\personal    

file:///docs/personal
unix  ///docs/personal     ///docs/personal    
mac   :docs:personal       :docs:personal:     
win32 \docs\personal       \docs\personal      

file:/docs/personal
unix  /docs/personal       /docs/personal      
mac   docs:personal        docs:personal:      
win32 \docs\personal       \docs\personal      

file:docs/personal
unix  docs/personal        docs/personal       
mac   :docs:personal       :docs:personal:     
win32 docs\personal        docs\personal       

Reply via email to