.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "URI::data 3" .TH URI::data 3 2023-10-04 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME URI::data \- URI that contains immediate data .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& use URI; \& \& $u = URI\->new("data:"); \& $u\->media_type("image/gif"); \& $u\->data(scalar(\`cat camel.gif\`)); \& print "$u\en"; \& open(XV, "|xv \-") and print XV $u\->data; .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" The \f(CW\*(C`URI::data\*(C'\fR class supports \f(CW\*(C`URI\*(C'\fR objects belonging to the \fIdata\fR URI scheme. The \fIdata\fR URI scheme is specified in RFC 2397. It allows inclusion of small data items as "immediate" data, as if it had been included externally. Examples: .PP .Vb 1 \& data:,Perl%20is%20good \& \& data:image/gif;base64,R0lGODdhIAAgAIAAAAAAAPj8+CwAAAAAI \& AAgAAAClYyPqcu9AJyCjtIKc5w5xP14xgeO2tlY3nWcajmZZdeJcG \& Kxrmimms1KMTa1Wg8UROx4MNUq1HrycMjHT9b6xKxaFLM6VRKzI+p \& KS9XtXpcbdun6uWVxJXA8pNPkdkkxhxc21LZHFOgD2KMoQXa2KMWI \& JtnE2KizVUkYJVZZ1nczBxXlFopZBtoJ2diXGdNUymmJdFMAADs= .Ve .PP \&\f(CW\*(C`URI\*(C'\fR objects belonging to the data scheme support the common methods (described in URI) and the following two scheme-specific methods: .ie n .IP "$uri\->media_type( [$new_media_type] )" 4 .el .IP "\f(CW$uri\fR\->media_type( [$new_media_type] )" 4 .IX Item "$uri->media_type( [$new_media_type] )" Can be used to get or set the media type specified in the URI. If no media type is specified, then the default \&\f(CW"text/plain;charset=US\-ASCII"\fR is returned. .ie n .IP "$uri\->data( [$new_data] )" 4 .el .IP "\f(CW$uri\fR\->data( [$new_data] )" 4 .IX Item "$uri->data( [$new_data] )" Can be used to get or set the data contained in the URI. The data is passed unescaped (in binary form). The decision about whether to base64 encode the data in the URI is taken automatically, based on the encoding that produces the shorter URI string. .SH "SEE ALSO" .IX Header "SEE ALSO" URI .SH COPYRIGHT .IX Header "COPYRIGHT" Copyright 1995\-1998 Gisle Aas. .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.