Data-Text

Class to handle text in an OO way


Keywords
cpan, perl, perl5
License
Other

Documentation

NAME

Data::Text - Class to handle text in an OO way

VERSION

Version 0.13

SYNOPSIS

Handle text in an OO way.

use Data::Text;

my $d = Data::Text->new("Hello, World!\n");

print $d->as_string();

SUBROUTINES/METHODS

new

Creates a Data::Text object.

The optional parameter contains a string, or object, to initialise the object with.

set

Sets the object to contain the given text.

The argument can be a reference to an array of strings, or an object. If called with an object, the message as_string() is sent to it for its contents.

$d->set({ text => "Hello, World!\n" });
$d->set(text => [ 'Hello, ', 'World!', "\n" ]);

append

Adds data given in "text" to the end of the object. Contains a simple sanity test for consecutive punctuation. I expect I'll improve that.

Successive calls to append() can be daisy chained.

$d->set('Hello ')->append("World!\n");

The argument can be a reference to an array of strings, or an object. If called with an object, the message as_string() is sent to it for its contents.

equal

Are two texts the same?

my $t1 = Data::Text->new('word');
my $t2 = Data::Text->new('word');
print ($t1 == $t2), "\n";   # Prints 1

not_equal

Are two texts different?

my $t1 = Data::Text->new('xyzzy');
my $t2 = Data::Text->new('plugh');
print ($t1 != $t2), "\n";   # Prints 1

as_string

Returns the text as a string.

length

Returns the length of the text.

trim

Removes leading and trailing spaces from the text.

rtrim

Removes trailing spaces from the text.

replace

Replaces words.

use Data::Text;

my $dt = Data::Text->new();
$dt->append('Hello World');
$dt->replace({ 'Hello' => 'Goodbye dear' });
print $dt->as_string(), "\n";       # Outputs "Goodbye dear world"

appendconjunction

Add a list as a conjunction. See Lingua::Conjunction Because of the way Data::Text works with quoting, this code works

my $d1 = Data::Text->new();
my $d2 = Data::Text->new('a');
my $d3 = Data::Text->new('b');

# Prints "a and b\n"
print $d1->appendconjunction($d2, $d3)->append("\n");

AUTHOR

Nigel Horne, <njh at bandsman.co.uk>

BUGS

SEE ALSO

String::Clean, String::Util

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Data::Text

You can also look for information at:

LICENSE AND COPYRIGHT

Copyright 2021-2024 Nigel Horne.

This program is released under the following licence: GPL2