RFC 100 (v1) Embed full URI support into Perl
[email protected] (Perl6 RFC Librarian) 14 Aug 2000 23:20:29 -0000
| Newsgroups | perl.perl6.language.io,perl.perl6.announce |
|---|---|
| Message-ID | <[email protected]> |
This and other RFCs are available on the web at http://dev.perl.org/rfc/ =head1 TITLE Embed full URI support into Perl =head1 VERSION Maintainer: Nathan Wiger <[email protected]> Date: 14 Aug 2000 Version: 1 Mailing List: [email protected] Number: 100 Status: Developing =head1 ABSTRACT Currently, Perl does not natively support URIs. It would be really cool if it did, since this would make writing and maintaining portable programs a breeze. =head1 DESCRIPTION Full URI support gives us several benefits: 1. It allows easy authoring of portable scripts 2. It is a stable and well-established standard 3. It is easily recognizable and very web-friendly The key syntax benefit is #1. This lets us use URIs in any function to allow scripts that can be used on many platforms simultaneously: $fo = open "C:\Windows\System"; # non-portable $fo = open "file://C|/Windows/System"; # portable unlink "/local/etc/script.conf"; # non-portable unlink "file:///local/etc/script.conf";# portable If portability is not a concern, then scripts can be written using the familiar, native syntax. Otherwise, all Perl funcs should be able to accept URIs so that writing portable programs is simple. =head1 IMPLEMENTATION B<Internally>, URIs and native filenames should be converted into a third, different representation. This allows for the easy conversion back and forth between them. For example, URIs could be converted to native filenames and then the native filenames passed to the actual functions. Indeed, this is the way URIs often work. The internal representation of Perl filenames is covered in RFC 36 and is beyond the scope of this RFC. =head1 REFERENCES RFC 36: Structured Internal Representation of Filenames http://www.mail-archive.com/[email protected]/msg00096.html http://www.mail-archive.com/[email protected]/msg00117.html http://www.w3.org/Addressing/