Data::Sofu::Value - A Sofu Value

- NAME
- DESCRIPTION
- Synopsis
- SYNTAX
- METHODS

- new([DATA])
- set(DATA)
- `asValue()`
- `asScalar()`
- `toString()`
- `toUTF16()`, `toUTF8()`, toUTF32()
- `toInt()`
- `toFloat()`
- `toLong()`
- `toDouble()`
- `isValue()`
- `stringify(LEVEL,TREE)`
- `binarify(TREE,BINARY DRIVER)`

- BUGS
- SEE ALSO

# NAME

Data::Sofu::Value - A Sofu Value

# DESCRIPTION

Provides a interface similar to the original SofuD (sofu.sf.net)

# Synopsis

            require Data::Sofu::Value;
            my $v = Data::Sofu::Value->new();
            $v->set("Hello World");

# SYNTAX

This Module is pure OO, exports nothing

# METHODS

Also look at `Data::Sofu::Object` for methods, cause Value inherits from it

## new([DATA])

Creates a new `Data::Sofu::Value` and returns it

Converts DATA to a string if DATA is given.

            $val = Data::Sofu::Value->new("Hello World");

## set(DATA)

Sets the contents of this Value (replaces the old contents).

Note: DATA will be converted to a string.

            $v->set("Foobar");

## `asValue()`

Returns itself, used to make sure this Value is really a Value (Data::Sofu::Map and Data::Sofu::List will die if called with this method)

## `asScalar()`

Perl only

Returns this Value as a perl Scalar (same as toString)

## `toString()`

Returns this as a string

## `toUTF16()`, `toUTF8()`, toUTF32()

Not working in Perl (cause there is no wchar, char, dchar stuff going on, if you need to convert strings use "Encode")

They just return the same as `toString()`

## `toInt()`

Return the Value as an Integer

            $v->toInt() ===  int $v->toString();

## `toFloat()`

Return the Value as a Float

            $v->toFloat() ===  $v->toString()+0;

## `toLong()`

Return the Value as a Long

            $v->toLong() ===  int $v->toString();

## `toDouble()`

Return the Value as a Double

            $v->toDouble() ===  $v->toString()+0;

## `isValue()`

Returns 1

## `stringify(LEVEL,TREE)`

Returns a string representation of this Value.

LEVEL and TREE are ignored...

## `binarify(TREE,BINARY DRIVER)`

Returns the binary version of this Value using the BINARY DRIVER. Don't call this one, use binaryPack instead.

# BUGS

most of the methods do the same, because perl does the converting for you.

# SEE ALSO

the Data::Sofu manpage, the Data::Sofu::Binary manpage, the Data::Sofu::Object manpage, the Data::Sofu::Map manpage, the Data::Sofu::Value manpage, the Data::Sofu::Undefined manpage, http://sofu.sf.net