This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlguts: Fix up UTF8fARG docs
authorKarl Williamson <khw@cpan.org>
Sat, 26 Oct 2019 17:02:36 +0000 (11:02 -0600)
committerKarl Williamson <khw@cpan.org>
Sat, 26 Oct 2019 17:07:56 +0000 (11:07 -0600)
The example was missing a percent, and note that in order to
successfully output UTF-8, the filehandle must be expecting it.

pod/perlguts.pod

index b923993..b05c424 100644 (file)
@@ -2726,7 +2726,7 @@ the C<UTF8f> format.  And as its parameter, use the C<UTF8fARG()> macro.
 Below is a general example using the SV C<err_msg> which is known to
 contain a string and not need magic handling:
 
- Perl_croak(aTHX_ "This croaked because: " UTF8f "\n",
+ Perl_croak(aTHX_ "This croaked because: %" UTF8f "\n",
                   UTF8fARG(SvUTF8(err_msg),
                            SvCUR(err_msg),
                            SvPVX(err_msg)));
@@ -2737,6 +2737,11 @@ The second parameter is the number of bytes in the string to print.
 And the third and final parameter is a pointer to the first byte in the
 string.
 
+Note that any filehandle being printed to under UTF-8 must be expecting
+UTF-8 in order to get good results and avoid Wide-character warnings.
+One way to do this for typical filehandles is to invoke perl with the
+C<-C>> parameter.  (See L<perlrun/-C [number/list]>.
+
 =head2 Formatted Printing of C<Size_t> and C<SSize_t>
 
 The most general way to do this is to cast them to a UV or IV, and