GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Venus::Random(3) User Contributed Perl Documentation Venus::Random(3)

Venus::Random - Random Class

Random Class for Perl 5

  package main;
  use Venus::Random;
  my $random = Venus::Random->new(42);
  # my $bit = $random->bit;
  # 1

This package provides an object-oriented interface for Perl's pseudo-random number generator (or PRNG) which produces a deterministic sequence of bits which approximate true randomness.

This package inherits behaviors from:

Venus::Kind::Utility

This package integrates behaviors from:

Venus::Role::Accessible

Venus::Role::Buildable

Venus::Role::Valuable

This package provides the following methods:

  bit() (number)

The bit method returns a 1 or 0 value, randomly.

Since 1.11

bit example 1
  # given: synopsis
  package main;
  my $bit = $random->bit;
  # 0
  # $bit = $random->bit;
  # 1
    

  boolean() (boolean)

The boolean method returns a "true" or "false" value, randomly.

Since 1.11

boolean example 1
  # given: synopsis
  package main;
  my $boolean = $random->boolean;
  # 0
  # $boolean = $random->boolean;
  # 1
    

  byte() (string)

The byte method returns random byte characters, randomly.

Since 1.11

byte example 1
  # given: synopsis
  package main;
  my $byte = $random->byte;
  # "\xBE"
  # $byte = $random->byte;
  # "W"
    

  character() (string)

The character method returns a random character, which is either a "digit", "letter", or "symbol" value.

Since 1.11

character example 1
  # given: synopsis
  package main;
  my $character = $random->character;
  # ")"
  # $character = $random->character;
  # 4
    

  collect(number $times, string | coderef $code, any @args) (number | string)

The collect method dispatches to the specified method or coderef, repeatedly based on the number of $times specified, and returns the random concatenated results from each dispatched call. By default, if no arguments are provided, this method dispatches to "digit".

Since 1.11

collect example 1
  # given: synopsis
  package main;
  my $collect = $random->collect;
  # 7
  # $collect = $random->collect;
  # 3
    
collect example 2
  # given: synopsis
  package main;
  my $collect = $random->collect(2);
  # 73
  # $collect = $random->collect(2);
  # 14
    
collect example 3
  # given: synopsis
  package main;
  my $collect = $random->collect(5, "letter");
  # "iKWMv"
  # $collect = $random->collect(5, "letter");
  # "Papmm"
    
collect example 4
  # given: synopsis
  package main;
  my $collect = $random->collect(10, "character");
  # ")48R+a}[Lb"
  # $collect = $random->collect(10, "character");
  # "?&0725^,0w"
    

  digit() (number)

The digit method returns a random digit between 0 and 9.

Since 1.11

digit example 1
  # given: synopsis
  package main;
  my $digit = $random->digit;
  # 7
  # $digit = $random->digit;
  # 3
    

  float(number $place, number $from, number $upto) (number)

The float method returns a random float.

Since 1.11

float example 1
  # given: synopsis
  package main;
  my $float = $random->float;
  # 1447361.5
  # $float = $random->float;
  # "0.0000"
    
float example 2
  # given: synopsis
  package main;
  my $float = $random->float(2);
  # 380690.82
  # $float = $random->float(2);
  # 694.57
    
float example 3
  # given: synopsis
  package main;
  my $float = $random->float(2, 1, 5);
  # 3.98
  # $float = $random->float(2, 1, 5);
  # 2.37
    
float example 4
  # given: synopsis
  package main;
  my $float = $random->float(3, 1, 2);
  # 1.745
  # $float = $random->float(3, 1, 2);
  # 1.343
    

  letter() (string)

The letter method returns a random letter, which is either an "uppercased" or "lowercased" value.

Since 1.11

letter example 1
  # given: synopsis
  package main;
  my $letter = $random->letter;
  # "i"
  # $letter = $random->letter;
  # "K"
    

  lowercased() (string)

The lowercased method returns a random lowercased letter.

Since 1.11

lowercased example 1
  # given: synopsis
  package main;
  my $lowercased = $random->lowercased;
  # "t"
  # $lowercased = $random->lowercased;
  # "i"
    

  nonzero(string | coderef $code, any @args) (number | string)

The nonzero method dispatches to the specified method or coderef and returns the random value ensuring that it's never zero, not even a percentage of zero. By default, if no arguments are provided, this method dispatches to "digit".

Since 1.11

nonzero example 1
  # given: synopsis
  package main;
  my $nonzero = $random->nonzero;
  # 7
  # $nonzero = $random->nonzero;
  # 3
    
nonzero example 2
  # given: synopsis
  package main;
  my $nonzero = $random->nonzero("pick");
  # 1.74452500006101
  # $nonzero = $random->nonzero("pick");
  # 1.34270147871891
    
nonzero example 3
  # given: synopsis
  package main;
  my $nonzero = $random->nonzero("number");
  # 3427014
  # $nonzero = $random->nonzero("number");
  # 3
    
nonzero example 4
  # given: synopsis
  package main;
  my $nonzero = $random->nonzero("number", 0, 10);
  # 8
  # $nonzero = $random->nonzero("number", 0, 10);
  # 3
    

  number(number $from, number $upto) (number)

The number method returns a random number within the range provided. If no arguments are provided, the range is from 0 to 2147483647. If only the first argument is provided, it's treated as the desired length of the number.

Since 1.11

number example 1
  # given: synopsis
  package main;
  my $number = $random->number;
  # 3427014
  # $number = $random->number;
  # 3
    
number example 2
  # given: synopsis
  package main;
  my $number = $random->number(5, 50);
  # 39
  # $number = $random->number(5, 50);
  # 20
    
number example 3
  # given: synopsis
  package main;
  my $number = $random->number(100, 20);
  # 42
  # $number = $random->number(100, 20);
  # 73
    
number example 4
  # given: synopsis
  package main;
  my $number = $random->number(5);
  # 74451
  # $number = $random->number(5);
  # 34269
    

  pick(Num $data) (Num)

The pick method is the random number generator and returns a random number. By default, calling this method is equivalent to call "rand" in perlfunc. This method can be overridden in a subclass to provide a custom generator, e.g. a more cyptographically secure generator.

Since 1.23

pick example 1
  # given: synopsis
  package main;
  my $pick = $random->pick;
  # 0.744525000061007
  # $pick = $random->pick;
  # 0.342701478718908
    
pick example 2
  # given: synopsis
  package main;
  my $pick = $random->pick(100);
  # 74.4525000061007
  # $pick = $random->pick(100);
  # 34.2701478718908
    
pick example 3
  # given: synopsis
  package main;
  my $pick = $random->pick(2);
  # 1.48905000012201
  # $pick = $random->pick(2);
  # 0.685402957437816
    

  range(string $from, string $to) (number)

The range method returns a random number within the range provided. If no arguments are provided, the range is from 0 to 2147483647.

Since 1.11

range example 1
  # given: synopsis
  package main;
  my $range = $random->range(1, 10);
  # 8
  # $range = $random->range(1, 10);
  # 4
    
range example 2
  # given: synopsis
  package main;
  my $range = $random->range(10, 1);
  # 5
  # $range = $random->range(10, 1);
  # 8
    
range example 3
  # given: synopsis
  package main;
  my $range = $random->range(0, 60);
  # 45
  # $range = $random->range(0, 60);
  # 20
    
range example 4
  # given: synopsis
  package main;
  my $range = $random->range(-5, -1);
  # -2
  # $range = $random->range(-5, -1);
  # -4
    

  repeat(number $times, string | coderef $code, any @args) (number | string)

The repeat method dispatches to the specified method or coderef, repeatedly based on the number of $times specified, and returns the random results from each dispatched call. In list context, the results from each call is returned as a list, in scalar context the results are concatenated.

Since 1.11

repeat example 1
  # given: synopsis
  package main;
  my @repeat = $random->repeat(2);
  # (7, 3)
  # @repeat = $random->repeat(2);
  # (1, 4)
    
repeat example 2
  # given: synopsis
  package main;
  my @repeat = $random->repeat(2, "float");
  # (1447361.5, "0.0000")
  # @repeat = $random->repeat(2, "float");
  # ("482092.1040", 1555.7410393)
    
repeat example 3
  # given: synopsis
  package main;
  my @repeat = $random->repeat(2, "character");
  # (")", 4)
  # @repeat = $random->repeat(2, "character");
  # (8, "R")
    

  reseed(string $seed) (Venus::Random)

The reseed method sets the "srand" in perlfunc (i.e. the PRNG seed) to the value provided, or the default value used on instanstiation when no seed is passed to the constructor. This method returns the object that invoked it.

Since 1.11

reseed example 1
  # given: synopsis
  package main;
  my $reseed = $random->reseed;
  # bless({value => ...}, "Venus::Random")
  # my $bit = $random->bit;
  # 0
    
reseed example 2
  # given: synopsis
  package main;
  my $reseed = $random->reseed(42);
  # bless({value => 42}, "Venus::Random")
  # my $bit = $random->bit;
  # 0
    

  reset() (Venus::Random)

The reset method sets the "srand" in perlfunc (i.e. the PRNG seed) to the default value used on instanstiation when no seed is passed to the constructor. This method returns the object that invoked it.

Since 1.11

reset example 1
  # given: synopsis
  package main;
  my $reset = $random->reset;
  # bless({value => ...}, "Venus::Random")
    

  restore() (Venus::Random)

The restore method sets the "srand" in perlfunc (i.e. the PRNG seed) to the original value used by "rand" in perlfunc. This method returns the object that invoked it.

Since 1.11

restore example 1
  # given: synopsis
  package main;
  my $restore = $random->restore;
  # bless({value => ...}, "Venus::Random")
    

  select(arrayref | hashref $data) (any)

The select method returns a random value from the "hashref" or "arrayref" provided.

Since 1.11

select example 1
  # given: synopsis
  package main;
  my $select = $random->select(["a".."d"]);
  # "c"
  # $select = $random->select(["a".."d"]);
  # "b"
    
select example 2
  # given: synopsis
  package main;
  my $select = $random->select({"a".."h"});
  # "f"
  # $select = $random->select({"a".."h"});
  # "d"
    

  symbol() (string)

The symbol method returns a random symbol.

Since 1.11

symbol example 1
  # given: synopsis
  package main;
  my $symbol = $random->symbol;
  # "'"
  # $symbol = $random->symbol;
  # ")"
    

  uppercased() (string)

The uppercased method returns a random uppercased letter.

Since 1.11

uppercased example 1
  # given: synopsis
  package main;
  my $uppercased = $random->uppercased;
  # "T"
  # $uppercased = $random->uppercased;
  # "I"
    

Awncorp, "awncorp@cpan.org"

Copyright (C) 2022, Awncorp, "awncorp@cpan.org".

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

2023-11-27 perl v5.40.2

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.