22 lines
1 KiB
Text
22 lines
1 KiB
Text
|
Rose::URI is an alternative to URI. Important differences include:
|
||
|
|
||
|
Rose::URI provides a rich set of query string manipulation methods.
|
||
|
Query parameters can be added, removed, and checked for their
|
||
|
existence. URI allows the entire query to be set or returned as a
|
||
|
whole via the query_form or query methods, and the URI::QueryParam
|
||
|
module provides a few more methods for query string manipulation.
|
||
|
|
||
|
Rose::URI supports query parameters with multiple values (e.g.
|
||
|
"a=1&a=2"). URI has limited support for this through query_form's
|
||
|
list return value. Better methods are available in URI::QueryParam.
|
||
|
|
||
|
Rose::URI uses Apache's C-based URI parsing and HTML escaping
|
||
|
functions when running in a mod_perl 1.x web server environment.
|
||
|
|
||
|
Rose::URI stores each URI "in pieces" (scheme, host, path, etc.)
|
||
|
and then assembles those pieces when the entire URI is needed as
|
||
|
a string. This technique is based on the assumption that the URI
|
||
|
will be manipulated many more times than it is stringified. If this
|
||
|
is not the case in your usage scenario, then URI may be a better
|
||
|
alternative.
|