NAME

Convert::Scalar - convert between different representations of perl scalars

SYNOPSIS

use Convert::Scalar;

DESCRIPTION

This module exports various internal perl methods that change the internal representation or state of a perl scalar. All of these work in-place, that is, they modify their scalar argument. No functions are exported by default.

The following export tags exist:

:utf8   all functions with utf8 in their names
:taint  all functions with taint in their names
utf8_upgrade scalar

Convert the string content of the scalar to its UTF8-encoded form.

utf8_downgrade scalar[, fail_ok]

Attempt to convert the string content of the scalar from UTF8-encoded to bytes.. This may not be possible if the string contains characters that cannot be represented in a single byte; if this is the case, either returns false or, if fail_ok is not true (the default), croaks.

utf8_encode scalar

Convert the string value of the scalar to UTF8-encoded, but then turn off the SvUTF8 flag so that it looks like bytes to perl again. (Might be removed in future versions).

utf8_length scalar

Returns the number of characters in the string, counting wide UTF8 bytes as a single character, idnependent of wether the scalar is marked as containing bytes or mulitbyte characters.

unmagic scalar

Removes magic from the scalar.

weaken scalar

Weaken a reference. (See also the WeakRef module (WeakRef).

taint scalar

Taint the scalar.

untaint scalar, type

Remove the specified magic from the scalar (DANGEROUS!), perlguts. Might be removed in future versions.

CANDIDATES FOR FUTURE RELEASES

The following API functions (perlapi) are considered for future inclusion in this module If you want them, write me.

sv_grow
sv_upgrade
sv_pvn_force
sv_pvutf8n_force
the sv2xx family

BUGS

This module has not yet been extensively tested.

AUTHOR

Marc Lehmann <pcg@goof.com>
http://www.goof.com/pcg/marc/