NAME

CellBIS::Random - Tool for Randomize characters in strings.

SYNOPSIS

use CellBIS::Random;

my $rand = CellBIS::Random->new();

my $string = 'my_string_test_random';
$rand->set_string($random);

my $random = $rand->random(2, 3);
print 'Random : ', $random, "\r"; #-> ynsn_dtgso__tmrtrmaei

my $unrandom = $rand->unrandom(2, 3);
print 'Unrandom : ', $unrandom, "\r"; #-> my_string_test_random

DESCRIPTION

The purpose of this module is to randomize characters in strings. Before a random or unrandom character (extract from random), the string will be converted to an array to get an odd/even number of key array.

METHODS

There is four methods set_string, get_result, random and unrandom.

Specifically for random and unrandom methods, you can use two or three arguments. If using Object Oriented, you can use 2 arguments. But if using Procedural, you can use 3 arguments.

# Object Oriented
# Arguments : <number_of_random_odd>, <number_of_random_even>
$rand->random(2, 3);
$rand->unrandom(2, 3);

# Or Arguments : <your_string_to_random>, <number_of_random_odd>, <number_of_random_even>
$rand->random('your string to random', 2, 3);
$rand->unrandom('result of random to extract', 2, 3);

# Procedural
# Arguemnts : <your_string_to_random>, <number_of_random_odd>, <number_of_random_even>
CellBIS::Random->random('your string to random', 2, 3);
CellBIS::Random->unrandom('result of random to extract', 2, 3);

set_string

Method to set up string for Random action.

get_result

Method to get result of random character and Extract result of random.

random

With set_string :

use CellBIS::Random;

my $string = 'my string here';
$rand->set_string($string);

my $result_random = $rand->random(2, 3);
print "Random Result : $result_random \n";

Without set_string :

my $result_random = $rand->random('my string here', 2, 3);
print "Random Result : $result_random \n";

unrandom

With set_string :

$rand->set_string($result_random);

my $result_unrandom = $rand->unrandom(2, 3);
print "Extract Random Result : $result_unrandom \n";

Without set_string :

my $result_unrandom = $rand->unrandom($rand->{result}, 2, 3);
print "Extract Random Result : $result_unrandom \n";

EXAMPLES

Example to using Procedural and Object Oriented

Procedural

Case 1

use CellBIS::Random;

my $result_random = CellBIS::Random->random('my string here', 2, 3);
print "Random Result : $result_random \n";

my $extract_random = CellBIS::Random->unrandom($result_random, 2, 3);
print "Extract Random Result : $extract_random \n";

Case 2

use CellBIS::Random;

my $rand = CellBIS::Random->new();
my $result_random = $rand->random('my string here', 2, 3);
print "Random Result : $result_random \n";

my $extract_random = $rand->unrandom($result_random, 2, 3);
print "Extract Random Result : $extract_random \n";

Object Oriented

Case 1

use CellBIS::Random;

my $rand = CellBIS::Random->new();

# For Random
$rand->set_string('my string here');
$rand->random(2, 3);
my $result_random = $rand->get_result();

print "Random Result : $result_random \n";

=====================================================

# For Extract Random
$rand->set_string($result_random);
$rand->unrandom(2, 3);
my $extract_random = $rand->get_result();

print "Extract Random Result : $extract_random \n";

Case 2

use CellBIS::Random;

my $rand = CellBIS::Random->new();

# For Random
$rand->set_string('my string here');
my $result_random = $rand->random('my string here', 2, 3);

print "Random Result : $result_random \n";

=====================================================

# For Extract Random
my $extract_random = $rand->unrandom($result_random, 2, 3);

print "Extract Random Result : $extract_random \n";

Case 3

use CellBIS::Random;

my $rand = CellBIS::Random->new();

# For Random
my $result_random = $rand->random('my string here', 2, 3);

print "Random Result : $result_random \n";

=====================================================

# For Extract Random
my $extract_random = $rand->unrandom($result_random, 2, 3);

print "Extract Random Result : $extract_random \n";

AUTHOR

Achmad Yusri Afandi, <yusrideb@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2018 by Achmad Yusri Afandi

This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.