{"id":15017315,"url":"https://github.com/awncorp/venus","last_synced_at":"2026-03-06T01:03:05.675Z","repository":{"id":43319287,"uuid":"442653178","full_name":"awncorp/venus","owner":"awncorp","description":"OO Standard Library for Perl 5","archived":false,"fork":false,"pushed_at":"2023-09-13T11:15:38.000Z","size":10207,"stargazers_count":35,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-23T16:49:44.395Z","etag":null,"topics":["object-oriented","perl","perl5","standard-library"],"latest_commit_sha":null,"homepage":"https://metacpan.org/release/Venus","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awncorp.png","metadata":{"files":{"readme":"README","changelog":"CHANGES","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-29T03:50:08.000Z","updated_at":"2025-07-01T20:26:48.000Z","dependencies_parsed_at":"2024-06-18T17:05:38.796Z","dependency_job_id":"b08404a6-b665-4428-bb62-08692bc667ba","html_url":"https://github.com/awncorp/venus","commit_stats":{"total_commits":109,"total_committers":2,"mean_commits":54.5,"dds":0.01834862385321101,"last_synced_commit":"a0c216126c87116a3a5c913e06faffdaa5599c91"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"purl":"pkg:github/awncorp/venus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fvenus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fvenus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fvenus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fvenus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awncorp","download_url":"https://codeload.github.com/awncorp/venus/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awncorp%2Fvenus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30156863,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T22:39:40.138Z","status":"ssl_error","status_checked_at":"2026-03-05T22:39:24.771Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["object-oriented","perl","perl5","standard-library"],"created_at":"2024-09-24T19:50:17.966Z","updated_at":"2026-03-06T01:03:05.654Z","avatar_url":"https://github.com/awncorp.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"NAME\n\n    Venus - OO Library\n\nABSTRACT\n\n    OO Standard Library for Perl 5\n\nVERSION\n\n    4.11\n\nSYNOPSIS\n\n      package main;\n    \n      use Venus 'catch', 'error', 'raise';\n    \n      # error handling\n      my ($error, $result) = catch {\n        error;\n      };\n    \n      # boolean keywords\n      if ($result) {\n        error;\n      }\n    \n      # raise exceptions\n      if ($result) {\n        raise 'MyApp::Error';\n      }\n    \n      # boolean keywords, and more!\n      true ne false;\n\nDESCRIPTION\n\n    This library provides an object-orientation framework and extendible\n    standard library for Perl 5 with classes which wrap most native Perl\n    data types. Venus has a simple modular architecture, robust library of\n    classes, methods, and roles, supports pure-Perl autoboxing, advanced\n    exception handling, \"true\" and \"false\" functions, package\n    introspection, command-line options parsing, and more. This package\n    will always automatically exports true and false keyword functions\n    (unless existing routines of the same name already exist in the calling\n    package or its parents), otherwise exports keyword functions as\n    requested at import. This library requires Perl 5.18+.\n\nCAPABILITIES\n\n    The following is a short list of capabilities:\n\n      * Perl 5.18.0+\n\n      * Zero Dependencies\n\n      * Fast Object-Orientation\n\n      * Robust Standard Library\n\n      * Intuitive Value Classes\n\n      * Pure Perl Autoboxing\n\n      * Convenient Utility Classes\n\n      * Simple Package Reflection\n\n      * Flexible Exception Handling\n\n      * Composable Standards\n\n      * Pluggable (no monkeypatching)\n\n      * Proxyable Methods\n\n      * Type Assertions\n\n      * Type Coercions\n\n      * Value Casting\n\n      * Boolean Values\n\n      * Complete Documentation\n\n      * Complete Test Coverage\n\nFUNCTIONS\n\n    This package provides the following functions:\n\n args\n\n      args(arrayref $value, string | coderef $code, any @args) (any)\n\n    The args function builds and returns a Venus::Args object, or\n    dispatches to the coderef or method provided.\n\n    Since 3.10\n\n    args example 1\n\n        package main;\n      \n        use Venus 'args';\n      \n        my $args = args ['--resource', 'users'];\n      \n        # bless({...}, 'Venus::Args')\n\n    args example 2\n\n        package main;\n      \n        use Venus 'args';\n      \n        my $args = args ['--resource', 'users'], 'indexed';\n      \n        # {0 =\u003e '--resource', 1 =\u003e 'users'}\n\n array\n\n      array(arrayref | hashref $value, string | coderef $code, any @args) (any)\n\n    The array function builds and returns a Venus::Array object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    array example 1\n\n        package main;\n      \n        use Venus 'array';\n      \n        my $array = array [];\n      \n        # bless({...}, 'Venus::Array')\n\n    array example 2\n\n        package main;\n      \n        use Venus 'array';\n      \n        my $array = array [1..4], 'push', 5..9;\n      \n        # [1..9]\n\n arrayref\n\n      arrayref(any @args) (arrayref)\n\n    The arrayref function takes a list of arguments and returns a arrayref.\n\n    Since 3.10\n\n    arrayref example 1\n\n        package main;\n      \n        use Venus 'arrayref';\n      \n        my $arrayref = arrayref(content =\u003e 'example');\n      \n        # [content =\u003e \"example\"]\n\n    arrayref example 2\n\n        package main;\n      \n        use Venus 'arrayref';\n      \n        my $arrayref = arrayref([content =\u003e 'example']);\n      \n        # [content =\u003e \"example\"]\n\n    arrayref example 3\n\n        package main;\n      \n        use Venus 'arrayref';\n      \n        my $arrayref = arrayref('content');\n      \n        # ['content']\n\n assert\n\n      assert(any $data, string $expr) (any)\n\n    The assert function builds a Venus::Assert object and returns the\n    result of a \"validate\" in Venus::Assert operation.\n\n    Since 2.40\n\n    assert example 1\n\n        package main;\n      \n        use Venus 'assert';\n      \n        my $assert = assert(1234567890, 'number');\n      \n        # 1234567890\n\n    assert example 2\n\n        package main;\n      \n        use Venus 'assert';\n      \n        my $assert = assert(1234567890, 'float');\n      \n        # Exception! (isa Venus::Check::Error)\n\n    assert example 3\n\n        package main;\n      \n        use Venus 'assert';\n      \n        my $assert = assert(1234567890, 'number | float');\n      \n        # 1234567890\n\n async\n\n      async(coderef $code, any @args) (Venus::Future)\n\n    The async function accepts a callback and executes it asynchronously\n    via \"future\" in Venus::Process. This function returns a Venus::Future\n    object which can be fulfilled via \"wait\" in Venus::Future.\n\n    Since 3.40\n\n    async example 1\n\n        package main;\n      \n        use Venus 'async';\n      \n        my $async = async sub{\n          'done'\n        };\n      \n        # bless({...}, 'Venus::Future')\n\n atom\n\n      atom(any $value) (Venus::Atom)\n\n    The atom function builds and returns a Venus::Atom object.\n\n    Since 3.55\n\n    atom example 1\n\n        package main;\n      \n        use Venus 'atom';\n      \n        my $atom = atom 'super-admin';\n      \n        # bless({scope =\u003e sub{...}}, \"Venus::Atom\")\n      \n        # \"$atom\"\n      \n        # \"super-admin\"\n\n await\n\n      await(Venus::Future $future, number $timeout) (any)\n\n    The await function accepts a Venus::Future object and eventually\n    returns a value (or values) for it. The value(s) returned are the\n    return values or emissions from the asychronous callback executed with\n    \"async\" which produced the process object.\n\n    Since 3.40\n\n    await example 1\n\n        package main;\n      \n        use Venus 'async', 'await';\n      \n        my $process;\n      \n        my $async = async sub{\n          return 'done';\n        };\n      \n        my $await = await $async;\n      \n        # bless(..., \"Venus::Future\")\n\n bool\n\n      bool(any $value) (Venus::Boolean)\n\n    The bool function builds and returns a Venus::Boolean object.\n\n    Since 2.55\n\n    bool example 1\n\n        package main;\n      \n        use Venus 'bool';\n      \n        my $bool = bool;\n      \n        # bless({value =\u003e 0}, 'Venus::Boolean')\n\n    bool example 2\n\n        package main;\n      \n        use Venus 'bool';\n      \n        my $bool = bool 1_000;\n      \n        # bless({value =\u003e 1}, 'Venus::Boolean')\n\n box\n\n      box(any $data) (Venus::Box)\n\n    The box function returns a Venus::Box object for the argument provided.\n\n    Since 2.32\n\n    box example 1\n\n        package main;\n      \n        use Venus 'box';\n      \n        my $box = box({});\n      \n        # bless({value =\u003e bless({value =\u003e {}}, 'Venus::Hash')}, 'Venus::Box')\n\n    box example 2\n\n        package main;\n      \n        use Venus 'box';\n      \n        my $box = box([]);\n      \n        # bless({value =\u003e bless({value =\u003e []}, 'Venus::Array')}, 'Venus::Box')\n\n call\n\n      call(string | object | coderef $data, any @args) (any)\n\n    The call function dispatches function and method calls to a package and\n    returns the result.\n\n    Since 2.32\n\n    call example 1\n\n        package main;\n      \n        use Venus 'call';\n      \n        require Digest::SHA;\n      \n        my $result = call(\\'Digest::SHA', 'new');\n      \n        # bless(do{\\(my $o = '...')}, 'digest::sha')\n\n    call example 2\n\n        package main;\n      \n        use Venus 'call';\n      \n        require Digest::SHA;\n      \n        my $result = call('Digest::SHA', 'sha1_hex');\n      \n        # \"da39a3ee5e6b4b0d3255bfef95601890afd80709\"\n\n    call example 3\n\n        package main;\n      \n        use Venus 'call';\n      \n        require Venus::Hash;\n      \n        my $result = call(sub{'Venus::Hash'-\u003enew(@_)}, {1..4});\n      \n        # bless({value =\u003e {1..4}}, 'Venus::Hash')\n\n    call example 4\n\n        package main;\n      \n        use Venus 'call';\n      \n        require Venus::Box;\n      \n        my $result = call(Venus::Box-\u003enew(value =\u003e {}), 'merge', {1..4});\n      \n        # bless({value =\u003e bless({value =\u003e {1..4}}, 'Venus::Hash')}, 'Venus::Box')\n\n cast\n\n      cast(any $data, string $type) (object)\n\n    The cast function returns the argument provided as an object, promoting\n    native Perl data types to data type objects. The optional second\n    argument can be the name of the type for the object to cast to\n    explicitly.\n\n    Since 1.40\n\n    cast example 1\n\n        package main;\n      \n        use Venus 'cast';\n      \n        my $undef = cast;\n      \n        # bless({value =\u003e undef}, \"Venus::Undef\")\n\n    cast example 2\n\n        package main;\n      \n        use Venus 'cast';\n      \n        my @booleans = map cast, true, false;\n      \n        # (bless({value =\u003e 1}, \"Venus::Boolean\"), bless({value =\u003e 0}, \"Venus::Boolean\"))\n\n    cast example 3\n\n        package main;\n      \n        use Venus 'cast';\n      \n        my $example = cast bless({}, \"Example\");\n      \n        # bless({value =\u003e 1}, \"Example\")\n\n    cast example 4\n\n        package main;\n      \n        use Venus 'cast';\n      \n        my $float = cast 1.23;\n      \n        # bless({value =\u003e \"1.23\"}, \"Venus::Float\")\n\n catch\n\n      catch(coderef $block) (Venus::Error, any)\n\n    The catch function executes the code block trapping errors and\n    returning the caught exception in scalar context, and also returning\n    the result as a second argument in list context.\n\n    Since 0.01\n\n    catch example 1\n\n        package main;\n      \n        use Venus 'catch';\n      \n        my $error = catch {die};\n      \n        $error;\n      \n        # \"Died at ...\"\n\n    catch example 2\n\n        package main;\n      \n        use Venus 'catch';\n      \n        my ($error, $result) = catch {error};\n      \n        $error;\n      \n        # bless({...}, 'Venus::Error')\n\n    catch example 3\n\n        package main;\n      \n        use Venus 'catch';\n      \n        my ($error, $result) = catch {true};\n      \n        $result;\n      \n        # 1\n\n caught\n\n      caught(object $error, string | tuple[string, string] $identity, coderef $block) (any)\n\n    The caught function evaluates the exception object provided and\n    validates its identity and name (if provided) then executes the code\n    block provided returning the result of the callback. If no callback is\n    provided this function returns the exception object on success and\n    undef on failure.\n\n    Since 1.95\n\n    caught example 1\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'error';\n      \n        my $error = catch { error };\n      \n        my $result = caught $error, 'Venus::Error';\n      \n        # bless(..., 'Venus::Error')\n\n    caught example 2\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'raise';\n      \n        my $error = catch { raise 'Example::Error' };\n      \n        my $result = caught $error, 'Venus::Error';\n      \n        # bless(..., 'Venus::Error')\n\n    caught example 3\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'raise';\n      \n        my $error = catch { raise 'Example::Error' };\n      \n        my $result = caught $error, 'Example::Error';\n      \n        # bless(..., 'Venus::Error')\n\n    caught example 4\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'raise';\n      \n        my $error = catch { raise 'Example::Error', { name =\u003e 'on.test' } };\n      \n        my $result = caught $error, ['Example::Error', 'on.test'];\n      \n        # bless(..., 'Venus::Error')\n\n    caught example 5\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'raise';\n      \n        my $error = catch { raise 'Example::Error', { name =\u003e 'on.recv' } };\n      \n        my $result = caught $error, ['Example::Error', 'on.send'];\n      \n        # undef\n\n    caught example 6\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'error';\n      \n        my $error = catch { error };\n      \n        my $result = caught $error, ['Example::Error', 'on.send'];\n      \n        # undef\n\n    caught example 7\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'error';\n      \n        my $error = catch { error };\n      \n        my $result = caught $error, ['Example::Error'];\n      \n        # undef\n\n    caught example 8\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'error';\n      \n        my $error = catch { error };\n      \n        my $result = caught $error, 'Example::Error';\n      \n        # undef\n\n    caught example 9\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'error';\n      \n        my $error = catch { error { name =\u003e 'on.send' } };\n      \n        my $result = caught $error, ['Venus::Error', 'on.send'];\n      \n        # bless(..., 'Venus::Error')\n\n    caught example 10\n\n        package main;\n      \n        use Venus 'catch', 'caught', 'error';\n      \n        my $error = catch { error { name =\u003e 'on.send.open' } };\n      \n        my $result = caught $error, ['Venus::Error', 'on.send'], sub {\n          $error-\u003estash('caught', true) if $error-\u003eis('on.send.open');\n          return $error;\n        };\n      \n        # bless(..., 'Venus::Error')\n\n chain\n\n      chain(string | object | coderef $self, string | within[arrayref, string] @args) (any)\n\n    The chain function chains function and method calls to a package (and\n    return values) and returns the result.\n\n    Since 2.32\n\n    chain example 1\n\n        package main;\n      \n        use Venus 'chain';\n      \n        my $result = chain('Venus::Path', ['new', 't'], 'exists');\n      \n        # 1\n\n    chain example 2\n\n        package main;\n      \n        use Venus 'chain';\n      \n        my $result = chain('Venus::Path', ['new', 't'], ['test', 'd']);\n      \n        # 1\n\n check\n\n      check(any $data, string $expr) (boolean)\n\n    The check function builds a Venus::Assert object and returns the result\n    of a \"check\" in Venus::Assert operation.\n\n    Since 2.40\n\n    check example 1\n\n        package main;\n      \n        use Venus 'check';\n      \n        my $check = check(rand, 'float');\n      \n        # true\n\n    check example 2\n\n        package main;\n      \n        use Venus 'check';\n      \n        my $check = check(rand, 'string');\n      \n        # false\n\n clargs\n\n      clargs(arrayref $args, arrayref $spec) (Venus::Args, Venus::Opts, Venus::Vars)\n\n    The clargs function accepts a single arrayref of Getopt::Long specs, or\n    an arrayref of arguments followed by an arrayref of Getopt::Long specs,\n    and returns a three element list of Venus::Args, Venus::Opts, and\n    Venus::Vars objects. If only a single arrayref is provided, the\n    arguments will be taken from @ARGV.\n\n    Since 3.10\n\n    clargs example 1\n\n        package main;\n      \n        use Venus 'clargs';\n      \n        my ($args, $opts, $vars) = clargs;\n      \n        # (\n        #   bless(..., 'Venus::Args'),\n        #   bless(..., 'Venus::Opts'),\n        #   bless(..., 'Venus::Vars')\n        # )\n\n    clargs example 2\n\n        package main;\n      \n        use Venus 'clargs';\n      \n        my ($args, $opts, $vars) = clargs ['resource|r=s', 'help|h'];\n      \n        # (\n        #   bless(..., 'Venus::Args'),\n        #   bless(..., 'Venus::Opts'),\n        #   bless(..., 'Venus::Vars')\n        # )\n\n    clargs example 3\n\n        package main;\n      \n        use Venus 'clargs';\n      \n        my ($args, $opts, $vars) = clargs ['--resource', 'help'],\n          ['resource|r=s', 'help|h'];\n      \n        # (\n        #   bless(..., 'Venus::Args'),\n        #   bless(..., 'Venus::Opts'),\n        #   bless(..., 'Venus::Vars')\n        # )\n\n cli\n\n      cli(arrayref $args) (Venus::Cli)\n\n    The cli function builds and returns a Venus::Cli object.\n\n    Since 2.55\n\n    cli example 1\n\n        package main;\n      \n        use Venus 'cli';\n      \n        my $cli = cli;\n      \n        # bless({...}, 'Venus::Cli')\n\n    cli example 2\n\n        package main;\n      \n        use Venus 'cli';\n      \n        my $cli = cli ['--help'];\n      \n        # bless({...}, 'Venus::Cli')\n      \n        # $cli-\u003eset('opt', 'help', {})-\u003eopt('help');\n      \n        # 1\n\n clone\n\n      clone(ref $value) (ref)\n\n    The clone function uses \"dclone\" in Storable to perform a deep clone of\n    the reference provided and returns a copy.\n\n    Since 3.55\n\n    clone example 1\n\n        package main;\n      \n        use Venus 'clone';\n      \n        my $orig = {1..4};\n      \n        my $clone = clone $orig;\n      \n        $orig-\u003e{3} = 5;\n      \n        my $result = $clone;\n      \n        # {1..4}\n\n    clone example 2\n\n        package main;\n      \n        use Venus 'clone';\n      \n        my $orig = {1,2,3,{1..4}};\n      \n        my $clone = clone $orig;\n      \n        $orig-\u003e{3}-\u003e{3} = 5;\n      \n        my $result = $clone;\n      \n        # {1,2,3,{1..4}}\n\n code\n\n      code(coderef $value, string | coderef $code, any @args) (any)\n\n    The code function builds and returns a Venus::Code object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    code example 1\n\n        package main;\n      \n        use Venus 'code';\n      \n        my $code = code sub {};\n      \n        # bless({...}, 'Venus::Code')\n\n    code example 2\n\n        package main;\n      \n        use Venus 'code';\n      \n        my $code = code sub {[1, @_]}, 'curry', 2,3,4;\n      \n        # sub {...}\n\n config\n\n      config(hashref $value, string | coderef $code, any @args) (any)\n\n    The config function builds and returns a Venus::Config object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    config example 1\n\n        package main;\n      \n        use Venus 'config';\n      \n        my $config = config {};\n      \n        # bless({...}, 'Venus::Config')\n\n    config example 2\n\n        package main;\n      \n        use Venus 'config';\n      \n        my $config = config {}, 'read_perl', '{\"data\"=\u003e1}';\n      \n        # bless({...}, 'Venus::Config')\n\n container\n\n      container(hashref $value, string | coderef $code, any @args) (any)\n\n    The container function builds and returns a Venus::Container object, or\n    dispatches to the coderef or method provided.\n\n    Since 3.20\n\n    container example 1\n\n        package main;\n      \n        use Venus 'container';\n      \n        my $container = container {};\n      \n        # bless({...}, 'Venus::Config')\n\n    container example 2\n\n        package main;\n      \n        use Venus 'container';\n      \n        my $data = {\n          '$metadata' =\u003e {\n            tmplog =\u003e \"/tmp/log\"\n          },\n          '$services' =\u003e {\n            log =\u003e {\n              package =\u003e \"Venus/Path\",\n              argument =\u003e {\n                '$metadata' =\u003e \"tmplog\"\n              }\n            }\n          }\n        };\n      \n        my $log = container $data, 'resolve', 'log';\n      \n        # bless({value =\u003e '/tmp/log'}, 'Venus::Path')\n\n cop\n\n      cop(string | object | coderef $self, string $name) (coderef)\n\n    The cop function attempts to curry the given subroutine on the object\n    or class and if successful returns a closure.\n\n    Since 2.32\n\n    cop example 1\n\n        package main;\n      \n        use Venus 'cop';\n      \n        my $coderef = cop('Digest::SHA', 'sha1_hex');\n      \n        # sub { ... }\n\n    cop example 2\n\n        package main;\n      \n        use Venus 'cop';\n      \n        require Digest::SHA;\n      \n        my $coderef = cop(Digest::SHA-\u003enew, 'digest');\n      \n        # sub { ... }\n\n data\n\n      data(string $value, string | coderef $code, any @args) (any)\n\n    The data function builds and returns a Venus::Data object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    data example 1\n\n        package main;\n      \n        use Venus 'data';\n      \n        my $data = data 't/data/sections';\n      \n        # bless({...}, 'Venus::Data')\n\n    data example 2\n\n        package main;\n      \n        use Venus 'data';\n      \n        my $data = data 't/data/sections', 'string', undef, 'name';\n      \n        # \"Example #1\\nExample #2\"\n\n date\n\n      date(number $value, string | coderef $code, any @args) (any)\n\n    The date function builds and returns a Venus::Date object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.40\n\n    date example 1\n\n        package main;\n      \n        use Venus 'date';\n      \n        my $date = date time, 'string';\n      \n        # '0000-00-00T00:00:00Z'\n\n    date example 2\n\n        package main;\n      \n        use Venus 'date';\n      \n        my $date = date time, 'reset', 570672000;\n      \n        # bless({...}, 'Venus::Date')\n      \n        # $date-\u003estring;\n      \n        # '1988-02-01T00:00:00Z'\n\n    date example 3\n\n        package main;\n      \n        use Venus 'date';\n      \n        my $date = date time;\n      \n        # bless({...}, 'Venus::Date')\n\n docs\n\n      docs(any @args) (any)\n\n    The docs function builds a Venus::Data object using \"docs\" in\n    Venus::Data for the current file, i.e. \"__FILE__\" in perlfunc or\n    script, i.e. $0, and returns the result of a \"string\" in Venus::Data\n    operation using the arguments provided.\n\n    Since 3.30\n\n    docs example 1\n\n        package main;\n      \n        use Venus 'docs';\n      \n        # =head1 ABSTRACT\n        #\n        # Example Abstract\n        #\n        # =cut\n      \n        my $docs = docs 'head1', 'ABSTRACT';\n      \n        # \"Example Abstract\"\n\n    docs example 2\n\n        package main;\n      \n        use Venus 'docs';\n      \n        # =head1 NAME\n        #\n        # Example #1\n        #\n        # =cut\n        #\n        # =head1 NAME\n        #\n        # Example #2\n        #\n        # =cut\n      \n        my $docs = docs 'head1', 'NAME';\n      \n        # \"Example #1\\nExample #2\"\n\n enum\n\n      enum(arrayref | hashref $value) (Venus::Enum)\n\n    The enum function builds and returns a Venus::Enum object.\n\n    Since 3.55\n\n    enum example 1\n\n        package main;\n      \n        use Venus 'enum';\n      \n        my $themes = enum ['light', 'dark'];\n      \n        # bless({scope =\u003e sub{...}}, \"Venus::Enum\")\n      \n        # my $result = $themes-\u003eget('dark');\n      \n        # bless({scope =\u003e sub{...}}, \"Venus::Enum\")\n      \n        # \"$result\"\n      \n        # \"dark\"\n\n    enum example 2\n\n        package main;\n      \n        use Venus 'enum';\n      \n        my $themes = enum {\n          light =\u003e 'light_theme',\n          dark =\u003e 'dark_theme',\n        };\n      \n        # bless({scope =\u003e sub{...}}, \"Venus::Enum\")\n      \n        # my $result = $themes-\u003eget('dark');\n      \n        # bless({scope =\u003e sub{...}}, \"Venus::Enum\")\n      \n        # \"$result\"\n      \n        # \"dark_theme\"\n\n error\n\n      error(maybe[hashref] $args) (Venus::Error)\n\n    The error function throws a Venus::Error exception object using the\n    exception object arguments provided.\n\n    Since 0.01\n\n    error example 1\n\n        package main;\n      \n        use Venus 'error';\n      \n        my $error = error;\n      \n        # bless({...}, 'Venus::Error')\n\n    error example 2\n\n        package main;\n      \n        use Venus 'error';\n      \n        my $error = error {\n          message =\u003e 'Something failed!',\n        };\n      \n        # bless({message =\u003e 'Something failed!', ...}, 'Venus::Error')\n\n false\n\n      false() (boolean)\n\n    The false function returns a falsy boolean value which is designed to\n    be practically indistinguishable from the conventional numerical 0\n    value.\n\n    Since 0.01\n\n    false example 1\n\n        package main;\n      \n        use Venus;\n      \n        my $false = false;\n      \n        # 0\n\n    false example 2\n\n        package main;\n      \n        use Venus;\n      \n        my $true = !false;\n      \n        # 1\n\n fault\n\n      fault(string $args) (Venus::Fault)\n\n    The fault function throws a Venus::Fault exception object and\n    represents a system failure, and isn't meant to be caught.\n\n    Since 1.80\n\n    fault example 1\n\n        package main;\n      \n        use Venus 'fault';\n      \n        my $fault = fault;\n      \n        # bless({message =\u003e 'Exception!'}, 'Venus::Fault')\n\n    fault example 2\n\n        package main;\n      \n        use Venus 'fault';\n      \n        my $fault = fault 'Something failed!';\n      \n        # bless({message =\u003e 'Something failed!'}, 'Venus::Fault')\n\n float\n\n      float(string $value, string | coderef $code, any @args) (any)\n\n    The float function builds and returns a Venus::Float object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    float example 1\n\n        package main;\n      \n        use Venus 'float';\n      \n        my $float = float 1.23;\n      \n        # bless({...}, 'Venus::Float')\n\n    float example 2\n\n        package main;\n      \n        use Venus 'float';\n      \n        my $float = float 1.23, 'int';\n      \n        # 1\n\n future\n\n      future(coderef $code) (Venus::Future)\n\n    The future function builds and returns a Venus::Future object.\n\n    Since 3.55\n\n    future example 1\n\n        package main;\n      \n        use Venus 'future';\n      \n        my $future = future(sub{\n          my ($resolve, $reject) = @_;\n      \n          return int(rand(2)) ? $resolve-\u003eresult('pass') : $reject-\u003eresult('fail');\n        });\n      \n        # bless(..., \"Venus::Future\")\n      \n        # $future-\u003eis_pending;\n      \n        # false\n\n gather\n\n      gather(any $value, coderef $callback) (any)\n\n    The gather function builds a Venus::Gather object, passing it and the\n    value provided to the callback provided, and returns the return value\n    from \"result\" in Venus::Gather.\n\n    Since 2.50\n\n    gather example 1\n\n        package main;\n      \n        use Venus 'gather';\n      \n        my $gather = gather ['a'..'d'];\n      \n        # bless({...}, 'Venus::Gather')\n      \n        # $gather-\u003eresult;\n      \n        # undef\n\n    gather example 2\n\n        package main;\n      \n        use Venus 'gather';\n      \n        my $gather = gather ['a'..'d'], sub {{\n          a =\u003e 1,\n          b =\u003e 2,\n          c =\u003e 3,\n        }};\n      \n        # [1..3]\n\n    gather example 3\n\n        package main;\n      \n        use Venus 'gather';\n      \n        my $gather = gather ['e'..'h'], sub {{\n          a =\u003e 1,\n          b =\u003e 2,\n          c =\u003e 3,\n        }};\n      \n        # []\n\n    gather example 4\n\n        package main;\n      \n        use Venus 'gather';\n      \n        my $gather = gather ['a'..'d'], sub {\n          my ($case) = @_;\n      \n          $case-\u003ewhen(sub{lc($_) eq 'a'})-\u003ethen('a -\u003e A');\n          $case-\u003ewhen(sub{lc($_) eq 'b'})-\u003ethen('b -\u003e B');\n        };\n      \n        # ['a -\u003e A', 'b -\u003e B']\n\n    gather example 5\n\n        package main;\n      \n        use Venus 'gather';\n      \n        my $gather = gather ['a'..'d'], sub {\n      \n          $_-\u003ewhen(sub{lc($_) eq 'a'})-\u003ethen('a -\u003e A');\n          $_-\u003ewhen(sub{lc($_) eq 'b'})-\u003ethen('b -\u003e B');\n        };\n      \n        # ['a -\u003e A', 'b -\u003e B']\n\n hash\n\n      hash(hashref $value, string | coderef $code, any @args) (any)\n\n    The hash function builds and returns a Venus::Hash object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    hash example 1\n\n        package main;\n      \n        use Venus 'hash';\n      \n        my $hash = hash {1..4};\n      \n        # bless({...}, 'Venus::Hash')\n\n    hash example 2\n\n        package main;\n      \n        use Venus 'hash';\n      \n        my $hash = hash {1..8}, 'pairs';\n      \n        # [[1, 2], [3, 4], [5, 6], [7, 8]]\n\n hashref\n\n      hashref(any @args) (hashref)\n\n    The hashref function takes a list of arguments and returns a hashref.\n\n    Since 3.10\n\n    hashref example 1\n\n        package main;\n      \n        use Venus 'hashref';\n      \n        my $hashref = hashref(content =\u003e 'example');\n      \n        # {content =\u003e \"example\"}\n\n    hashref example 2\n\n        package main;\n      \n        use Venus 'hashref';\n      \n        my $hashref = hashref({content =\u003e 'example'});\n      \n        # {content =\u003e \"example\"}\n\n    hashref example 3\n\n        package main;\n      \n        use Venus 'hashref';\n      \n        my $hashref = hashref('content');\n      \n        # {content =\u003e undef}\n\n    hashref example 4\n\n        package main;\n      \n        use Venus 'hashref';\n      \n        my $hashref = hashref('content', 'example', 'algorithm');\n      \n        # {content =\u003e \"example\", algorithm =\u003e undef}\n\n is_bool\n\n      is_bool(any $arg) (boolean)\n\n    The is_bool function returns \"true\" if the value provided is a boolean\n    value, not merely truthy, and \"false\" otherwise.\n\n    Since 3.18\n\n    is_bool example 1\n\n        package main;\n      \n        use Venus 'is_bool';\n      \n        my $is_bool = is_bool true;\n      \n        # true\n\n    is_bool example 2\n\n        package main;\n      \n        use Venus 'is_bool';\n      \n        my $is_bool = is_bool false;\n      \n        # true\n\n    is_bool example 3\n\n        package main;\n      \n        use Venus 'is_bool';\n      \n        my $is_bool = is_bool 1;\n      \n        # false\n\n    is_bool example 4\n\n        package main;\n      \n        use Venus 'is_bool';\n      \n        my $is_bool = is_bool 0;\n      \n        # false\n\n is_false\n\n      is_false(any $data) (boolean)\n\n    The is_false function accepts a scalar value and returns true if the\n    value is falsy.\n\n    Since 3.04\n\n    is_false example 1\n\n        package main;\n      \n        use Venus 'is_false';\n      \n        my $is_false = is_false 0;\n      \n        # true\n\n    is_false example 2\n\n        package main;\n      \n        use Venus 'is_false';\n      \n        my $is_false = is_false 1;\n      \n        # false\n\n is_true\n\n      is_true(any $data) (boolean)\n\n    The is_true function accepts a scalar value and returns true if the\n    value is truthy.\n\n    Since 3.04\n\n    is_true example 1\n\n        package main;\n      \n        use Venus 'is_true';\n      \n        my $is_true = is_true 1;\n      \n        # true\n\n    is_true example 2\n\n        package main;\n      \n        use Venus 'is_true';\n      \n        my $is_true = is_true 0;\n      \n        # false\n\n json\n\n      json(string $call, any $data) (any)\n\n    The json function builds a Venus::Json object and will either \"decode\"\n    in Venus::Json or \"encode\" in Venus::Json based on the argument\n    provided and returns the result.\n\n    Since 2.40\n\n    json example 1\n\n        package main;\n      \n        use Venus 'json';\n      \n        my $decode = json 'decode', '{\"codename\":[\"Ready\",\"Robot\"],\"stable\":true}';\n      \n        # { codename =\u003e [\"Ready\", \"Robot\"], stable =\u003e 1 }\n\n    json example 2\n\n        package main;\n      \n        use Venus 'json';\n      \n        my $encode = json 'encode', { codename =\u003e [\"Ready\", \"Robot\"], stable =\u003e true };\n      \n        # '{\"codename\":[\"Ready\",\"Robot\"],\"stable\":true}'\n\n    json example 3\n\n        package main;\n      \n        use Venus 'json';\n      \n        my $json = json;\n      \n        # bless({...}, 'Venus::Json')\n\n    json example 4\n\n        package main;\n      \n        use Venus 'json';\n      \n        my $json = json 'class', {data =\u003e \"...\"};\n      \n        # Exception! (isa Venus::Fault)\n\n list\n\n      list(any @args) (any)\n\n    The list function accepts a list of values and flattens any arrayrefs,\n    returning a list of scalars.\n\n    Since 3.04\n\n    list example 1\n\n        package main;\n      \n        use Venus 'list';\n      \n        my @list = list 1..4;\n      \n        # (1..4)\n\n    list example 2\n\n        package main;\n      \n        use Venus 'list';\n      \n        my @list = list [1..4];\n      \n        # (1..4)\n\n    list example 3\n\n        package main;\n      \n        use Venus 'list';\n      \n        my @list = list [1..4], 5, [6..10];\n      \n        # (1..10)\n\n load\n\n      load(any $name) (Venus::Space)\n\n    The load function loads the package provided and returns a Venus::Space\n    object.\n\n    Since 2.32\n\n    load example 1\n\n        package main;\n      \n        use Venus 'load';\n      \n        my $space = load 'Venus::Scalar';\n      \n        # bless({value =\u003e 'Venus::Scalar'}, 'Venus::Space')\n\n log\n\n      log(any @args) (Venus::Log)\n\n    The log function prints the arguments provided to STDOUT, stringifying\n    complex values, and returns a Venus::Log object. If the first argument\n    is a log level name, e.g. debug, error, fatal, info, trace, or warn, it\n    will be used when emitting the event. The desired log level is\n    specified by the VENUS_LOG_LEVEL environment variable and defaults to\n    trace.\n\n    Since 2.40\n\n    log example 1\n\n        package main;\n      \n        use Venus 'log';\n      \n        my $log = log;\n      \n        # bless({...}, 'Venus::Log')\n      \n        # log time, rand, 1..9;\n      \n        # 00000000 0.000000, 1..9\n\n make\n\n      make(string $package, any @args) (any)\n\n    The make function \"calls\" the new routine on the invocant and returns\n    the result which should be a package string or an object.\n\n    Since 2.32\n\n    make example 1\n\n        package main;\n      \n        use Venus 'make';\n      \n        my $made = make('Digest::SHA');\n      \n        # bless(do{\\(my $o = '...')}, 'Digest::SHA')\n\n    make example 2\n\n        package main;\n      \n        use Venus 'make';\n      \n        my $made = make('Digest', 'SHA');\n      \n        # bless(do{\\(my $o = '...')}, 'Digest::SHA')\n\n match\n\n      match(any $value, coderef $callback) (any)\n\n    The match function builds a Venus::Match object, passing it and the\n    value provided to the callback provided, and returns the return value\n    from \"result\" in Venus::Match.\n\n    Since 2.50\n\n    match example 1\n\n        package main;\n      \n        use Venus 'match';\n      \n        my $match = match 5;\n      \n        # bless({...}, 'Venus::Match')\n      \n        # $match-\u003eresult;\n      \n        # undef\n\n    match example 2\n\n        package main;\n      \n        use Venus 'match';\n      \n        my $match = match 5, sub {{\n          1 =\u003e 'one',\n          2 =\u003e 'two',\n          5 =\u003e 'five',\n        }};\n      \n        # 'five'\n\n    match example 3\n\n        package main;\n      \n        use Venus 'match';\n      \n        my $match = match 5, sub {{\n          1 =\u003e 'one',\n          2 =\u003e 'two',\n          3 =\u003e 'three',\n        }};\n      \n        # undef\n\n    match example 4\n\n        package main;\n      \n        use Venus 'match';\n      \n        my $match = match 5, sub {\n          my ($case) = @_;\n      \n          $case-\u003ewhen(sub{$_ \u003c 5})-\u003ethen('\u003c 5');\n          $case-\u003ewhen(sub{$_ \u003e 5})-\u003ethen('\u003e 5');\n        };\n      \n        # undef\n\n    match example 5\n\n        package main;\n      \n        use Venus 'match';\n      \n        my $match = match 6, sub {\n          my ($case, $data) = @_;\n      \n          $case-\u003ewhen(sub{$_ \u003c 5})-\u003ethen(\"$data \u003c 5\");\n          $case-\u003ewhen(sub{$_ \u003e 5})-\u003ethen(\"$data \u003e 5\");\n        };\n      \n        # '6 \u003e 5'\n\n    match example 6\n\n        package main;\n      \n        use Venus 'match';\n      \n        my $match = match 4, sub {\n      \n          $_-\u003ewhen(sub{$_ \u003c 5})-\u003ethen(\"$_[1] \u003c 5\");\n          $_-\u003ewhen(sub{$_ \u003e 5})-\u003ethen(\"$_[1] \u003e 5\");\n        };\n      \n        # '4 \u003c 5'\n\n merge\n\n      merge(any @args) (any)\n\n    The merge function returns a value which is a merger of all of the\n    arguments provided.\n\n    Since 2.32\n\n    merge example 1\n\n        package main;\n      \n        use Venus 'merge';\n      \n        my $merged = merge({1..4}, {5, 6});\n      \n        # {1..6}\n\n    merge example 2\n\n        package main;\n      \n        use Venus 'merge';\n      \n        my $merged = merge({1..4}, {5, 6}, {7, 8, 9, 0});\n      \n        # {1..9, 0}\n\n meta\n\n      meta(string $value, string | coderef $code, any @args) (any)\n\n    The meta function builds and returns a Venus::Meta object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    meta example 1\n\n        package main;\n      \n        use Venus 'meta';\n      \n        my $meta = meta 'Venus';\n      \n        # bless({...}, 'Venus::Meta')\n\n    meta example 2\n\n        package main;\n      \n        use Venus 'meta';\n      \n        my $result = meta 'Venus', 'sub', 'meta';\n      \n        # 1\n\n name\n\n      name(string $value, string | coderef $code, any @args) (any)\n\n    The name function builds and returns a Venus::Name object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    name example 1\n\n        package main;\n      \n        use Venus 'name';\n      \n        my $name = name 'Foo/Bar';\n      \n        # bless({...}, 'Venus::Name')\n\n    name example 2\n\n        package main;\n      \n        use Venus 'name';\n      \n        my $name = name 'Foo/Bar', 'package';\n      \n        # \"Foo::Bar\"\n\n number\n\n      number(Num $value, string | coderef $code, any @args) (any)\n\n    The number function builds and returns a Venus::Number object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    number example 1\n\n        package main;\n      \n        use Venus 'number';\n      \n        my $number = number 1_000;\n      \n        # bless({...}, 'Venus::Number')\n\n    number example 2\n\n        package main;\n      \n        use Venus 'number';\n      \n        my $number = number 1_000, 'prepend', 1;\n      \n        # 11_000\n\n opts\n\n      opts(arrayref $value, string | coderef $code, any @args) (any)\n\n    The opts function builds and returns a Venus::Opts object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    opts example 1\n\n        package main;\n      \n        use Venus 'opts';\n      \n        my $opts = opts ['--resource', 'users'];\n      \n        # bless({...}, 'Venus::Opts')\n\n    opts example 2\n\n        package main;\n      \n        use Venus 'opts';\n      \n        my $opts = opts ['--resource', 'users'], 'reparse', ['resource|r=s', 'help|h'];\n      \n        # bless({...}, 'Venus::Opts')\n      \n        # my $resource = $opts-\u003eget('resource');\n      \n        # \"users\"\n\n pairs\n\n      pairs(any $data) (arrayref)\n\n    The pairs function accepts an arrayref or hashref and returns an\n    arrayref of arrayrefs holding keys (or indices) and values. The\n    function returns an empty arrayref for all other values provided.\n    Returns a list in list context.\n\n    Since 3.04\n\n    pairs example 1\n\n        package main;\n      \n        use Venus 'pairs';\n      \n        my $pairs = pairs [1..4];\n      \n        # [[0,1], [1,2], [2,3], [3,4]]\n\n    pairs example 2\n\n        package main;\n      \n        use Venus 'pairs';\n      \n        my $pairs = pairs {'a' =\u003e 1, 'b' =\u003e 2, 'c' =\u003e 3, 'd' =\u003e 4};\n      \n        # [['a',1], ['b',2], ['c',3], ['d',4]]\n\n    pairs example 3\n\n        package main;\n      \n        use Venus 'pairs';\n      \n        my @pairs = pairs [1..4];\n      \n        # ([0,1], [1,2], [2,3], [3,4])\n\n    pairs example 4\n\n        package main;\n      \n        use Venus 'pairs';\n      \n        my @pairs = pairs {'a' =\u003e 1, 'b' =\u003e 2, 'c' =\u003e 3, 'd' =\u003e 4};\n      \n        # (['a',1], ['b',2], ['c',3], ['d',4])\n\n path\n\n      path(string $value, string | coderef $code, any @args) (any)\n\n    The path function builds and returns a Venus::Path object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    path example 1\n\n        package main;\n      \n        use Venus 'path';\n      \n        my $path = path 't/data/planets';\n      \n        # bless({...}, 'Venus::Path')\n\n    path example 2\n\n        package main;\n      \n        use Venus 'path';\n      \n        my $path = path 't/data/planets', 'absolute';\n      \n        # bless({...}, 'Venus::Path')\n\n perl\n\n      perl(string $call, any $data) (any)\n\n    The perl function builds a Venus::Dump object and will either \"decode\"\n    in Venus::Dump or \"encode\" in Venus::Dump based on the argument\n    provided and returns the result.\n\n    Since 2.40\n\n    perl example 1\n\n        package main;\n      \n        use Venus 'perl';\n      \n        my $decode = perl 'decode', '{stable=\u003ebless({},\\'Venus::True\\')}';\n      \n        # { stable =\u003e 1 }\n\n    perl example 2\n\n        package main;\n      \n        use Venus 'perl';\n      \n        my $encode = perl 'encode', { stable =\u003e true };\n      \n        # '{stable=\u003ebless({},\\'Venus::True\\')}'\n\n    perl example 3\n\n        package main;\n      \n        use Venus 'perl';\n      \n        my $perl = perl;\n      \n        # bless({...}, 'Venus::Dump')\n\n    perl example 4\n\n        package main;\n      \n        use Venus 'perl';\n      \n        my $perl = perl 'class', {data =\u003e \"...\"};\n      \n        # Exception! (isa Venus::Fault)\n\n process\n\n      process(string | coderef $code, any @args) (any)\n\n    The process function builds and returns a Venus::Process object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    process example 1\n\n        package main;\n      \n        use Venus 'process';\n      \n        my $process = process;\n      \n        # bless({...}, 'Venus::Process')\n\n    process example 2\n\n        package main;\n      \n        use Venus 'process';\n      \n        my $process = process 'do', 'alarm', 10;\n      \n        # bless({...}, 'Venus::Process')\n\n proto\n\n      proto(hashref $value, string | coderef $code, any @args) (any)\n\n    The proto function builds and returns a Venus::Prototype object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    proto example 1\n\n        package main;\n      \n        use Venus 'proto';\n      \n        my $proto = proto {\n          '$counter' =\u003e 0,\n        };\n      \n        # bless({...}, 'Venus::Prototype')\n\n    proto example 2\n\n        package main;\n      \n        use Venus 'proto';\n      \n        my $proto = proto { '$counter' =\u003e 0 }, 'apply', {\n          '\u0026decrement' =\u003e sub { $_[0]-\u003ecounter($_[0]-\u003ecounter - 1) },\n          '\u0026increment' =\u003e sub { $_[0]-\u003ecounter($_[0]-\u003ecounter + 1) },\n        };\n      \n        # bless({...}, 'Venus::Prototype')\n\n puts\n\n      puts(any @args) (arrayref)\n\n    The puts function select values from within the underlying data\n    structure using \"path\" in Venus::Array or \"path\" in Venus::Hash,\n    optionally assigning the value to the preceeding scalar reference and\n    returns all the values selected.\n\n    Since 3.20\n\n    puts example 1\n\n        package main;\n      \n        use Venus 'puts';\n      \n        my $data = {\n          size =\u003e \"small\",\n          fruit =\u003e \"apple\",\n          meta =\u003e {\n            expiry =\u003e '5d',\n          },\n          color =\u003e \"red\",\n        };\n      \n        puts $data, (\n          \\my $fruit, 'fruit',\n          \\my $expiry, 'meta.expiry'\n        );\n      \n        my $puts = [$fruit, $expiry];\n      \n        # [\"apple\", \"5d\"]\n\n raise\n\n      raise(string $class | tuple[string, string] $class, maybe[hashref] $args) (Venus::Error)\n\n    The raise function generates and throws a named exception object\n    derived from Venus::Error, or provided base class, using the exception\n    object arguments provided.\n\n    Since 0.01\n\n    raise example 1\n\n        package main;\n      \n        use Venus 'raise';\n      \n        my $error = raise 'MyApp::Error';\n      \n        # bless({...}, 'MyApp::Error')\n\n    raise example 2\n\n        package main;\n      \n        use Venus 'raise';\n      \n        my $error = raise ['MyApp::Error', 'Venus::Error'];\n      \n        # bless({...}, 'MyApp::Error')\n\n    raise example 3\n\n        package main;\n      \n        use Venus 'raise';\n      \n        my $error = raise ['MyApp::Error', 'Venus::Error'], {\n          message =\u003e 'Something failed!',\n        };\n      \n        # bless({message =\u003e 'Something failed!', ...}, 'MyApp::Error')\n\n random\n\n      random(string | coderef $code, any @args) (any)\n\n    The random function builds and returns a Venus::Random object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    random example 1\n\n        package main;\n      \n        use Venus 'random';\n      \n        my $random = random;\n      \n        # bless({...}, 'Venus::Random')\n\n    random example 2\n\n        package main;\n      \n        use Venus 'random';\n      \n        my $random = random 'collect', 10, 'letter';\n      \n        # \"ryKUPbJHYT\"\n\n range\n\n      range(number | string @args) (arrayref)\n\n    The range function returns the result of a \"range\" in Venus::Array\n    operation.\n\n    Since 3.20\n\n    range example 1\n\n        package main;\n      \n        use Venus 'range';\n      \n        my $range = range [1..9], ':4';\n      \n        # [1..5]\n\n    range example 2\n\n        package main;\n      \n        use Venus 'range';\n      \n        my $range = range [1..9], '-4:-1';\n      \n        # [6..9]\n\n regexp\n\n      regexp(string $value, string | coderef $code, any @args) (any)\n\n    The regexp function builds and returns a Venus::Regexp object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    regexp example 1\n\n        package main;\n      \n        use Venus 'regexp';\n      \n        my $regexp = regexp '[0-9]';\n      \n        # bless({...}, 'Venus::Regexp')\n\n    regexp example 2\n\n        package main;\n      \n        use Venus 'regexp';\n      \n        my $replace = regexp '[0-9]', 'replace', 'ID 12345', '0', 'g';\n      \n        # bless({...}, 'Venus::Replace')\n      \n        # $replace-\u003eget;\n      \n        # \"ID 00000\"\n\n render\n\n      render(string $data, hashref $args) (string)\n\n    The render function accepts a string as a template and renders it using\n    Venus::Template, and returns the result.\n\n    Since 3.04\n\n    render example 1\n\n        package main;\n      \n        use Venus 'render';\n      \n        my $render = render 'hello {{name}}', {\n          name =\u003e 'user',\n        };\n      \n        # \"hello user\"\n\n replace\n\n      replace(arrayref $value, string | coderef $code, any @args) (any)\n\n    The replace function builds and returns a Venus::Replace object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    replace example 1\n\n        package main;\n      \n        use Venus 'replace';\n      \n        my $replace = replace ['hello world', 'world', 'universe'];\n      \n        # bless({...}, 'Venus::Replace')\n\n    replace example 2\n\n        package main;\n      \n        use Venus 'replace';\n      \n        my $replace = replace ['hello world', 'world', 'universe'], 'get';\n      \n        # \"hello universe\"\n\n resolve\n\n      resolve(hashref $value, any @args) (any)\n\n    The resolve function builds and returns an object via \"resolve\" in\n    Venus::Container.\n\n    Since 3.30\n\n    resolve example 1\n\n        package main;\n      \n        use Venus 'resolve';\n      \n        my $resolve = resolve {};\n      \n        # undef\n\n    resolve example 2\n\n        package main;\n      \n        use Venus 'resolve';\n      \n        my $data = {\n          '$services' =\u003e {\n            log =\u003e {\n              package =\u003e \"Venus/Path\",\n            }\n          }\n        };\n      \n        my $log = resolve $data, 'log';\n      \n        # bless({...}, 'Venus::Path')\n\n roll\n\n      roll(string $name, any @args) (any)\n\n    The roll function takes a list of arguments, assuming the first\n    argument is invokable, and reorders the list such that the routine name\n    provided comes after the invocant (i.e. the 1st argument), creating a\n    list acceptable to the \"call\" function.\n\n    Since 2.32\n\n    roll example 1\n\n        package main;\n      \n        use Venus 'roll';\n      \n        my @list = roll('sha1_hex', 'Digest::SHA');\n      \n        # ('Digest::SHA', 'sha1_hex');\n\n    roll example 2\n\n        package main;\n      \n        use Venus 'roll';\n      \n        my @list = roll('sha1_hex', call(\\'Digest::SHA', 'new'));\n      \n        # (bless(do{\\(my $o = '...')}, 'Digest::SHA'), 'sha1_hex');\n\n schema\n\n      schema(string $value, string | coderef $code, any @args) (any)\n\n    The schema function builds and returns a Venus::Schema object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    schema example 1\n\n        package main;\n      \n        use Venus 'schema';\n      \n        my $schema = schema { name =\u003e 'string' };\n      \n        # bless({...}, \"Venus::Schema\")\n\n    schema example 2\n\n        package main;\n      \n        use Venus 'schema';\n      \n        my $result = schema { name =\u003e 'string' }, 'validate', { name =\u003e 'example' };\n      \n        # { name =\u003e 'example' }\n\n search\n\n      search(arrayref $value, string | coderef $code, any @args) (any)\n\n    The search function builds and returns a Venus::Search object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    search example 1\n\n        package main;\n      \n        use Venus 'search';\n      \n        my $search = search ['hello world', 'world'];\n      \n        # bless({...}, 'Venus::Search')\n\n    search example 2\n\n        package main;\n      \n        use Venus 'search';\n      \n        my $search = search ['hello world', 'world'], 'count';\n      \n        # 1\n\n space\n\n      space(any $name) (Venus::Space)\n\n    The space function returns a Venus::Space object for the package\n    provided.\n\n    Since 2.32\n\n    space example 1\n\n        package main;\n      \n        use Venus 'space';\n      \n        my $space = space 'Venus::Scalar';\n      \n        # bless({value =\u003e 'Venus::Scalar'}, 'Venus::Space')\n\n string\n\n      string(string $value, string | coderef $code, any @args) (any)\n\n    The string function builds and returns a Venus::String object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    string example 1\n\n        package main;\n      \n        use Venus 'string';\n      \n        my $string = string 'hello world';\n      \n        # bless({...}, 'Venus::String')\n\n    string example 2\n\n        package main;\n      \n        use Venus 'string';\n      \n        my $string = string 'hello world', 'camelcase';\n      \n        # \"helloWorld\"\n\n syscall\n\n      syscall(number | string @args) (any)\n\n    The syscall function perlforms system call, i.e. a \"qx\" in perlfunc\n    operation, and returns true if the command succeeds, otherwise returns\n    false. In list context, returns the output of the operation and the\n    exit code.\n\n    Since 3.04\n\n    syscall example 1\n\n        package main;\n      \n        use Venus 'syscall';\n      \n        my $syscall = syscall 'perl', '-v';\n      \n        # true\n\n    syscall example 2\n\n        package main;\n      \n        use Venus 'syscall';\n      \n        my $syscall = syscall 'perl', '-z';\n      \n        # false\n\n    syscall example 3\n\n        package main;\n      \n        use Venus 'syscall';\n      \n        my ($data, $code) = syscall 'sun', '--heat-death';\n      \n        # ('done', 0)\n\n    syscall example 4\n\n        package main;\n      \n        use Venus 'syscall';\n      \n        my ($data, $code) = syscall 'earth', '--melt-icecaps';\n      \n        # ('', 127)\n\n template\n\n      template(string $value, string | coderef $code, any @args) (any)\n\n    The template function builds and returns a Venus::Template object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    template example 1\n\n        package main;\n      \n        use Venus 'template';\n      \n        my $template = template 'Hi {{name}}';\n      \n        # bless({...}, 'Venus::Template')\n\n    template example 2\n\n        package main;\n      \n        use Venus 'template';\n      \n        my $template = template 'Hi {{name}}', 'render', undef, {\n          name =\u003e 'stranger',\n        };\n      \n        # \"Hi stranger\"\n\n test\n\n      test(string $value, string | coderef $code, any @args) (any)\n\n    The test function builds and returns a Venus::Test object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    test example 1\n\n        package main;\n      \n        use Venus 'test';\n      \n        my $test = test 't/Venus.t';\n      \n        # bless({...}, 'Venus::Test')\n\n    test example 2\n\n        package main;\n      \n        use Venus 'test';\n      \n        my $test = test 't/Venus.t', 'for', 'synopsis';\n      \n        # bless({...}, 'Venus::Test')\n\n text\n\n      text(any @args) (any)\n\n    The text function builds a Venus::Data object using \"text\" in\n    Venus::Data for the current file, i.e. \"__FILE__\" in perlfunc or\n    script, i.e. $0, and returns the result of a \"string\" in Venus::Data\n    operation using the arguments provided.\n\n    Since 3.30\n\n    text example 1\n\n        package main;\n      \n        use Venus 'text';\n      \n        # @@ name\n        #\n        # Example Name\n        #\n        # @@ end\n        #\n        # @@ titles #1\n        #\n        # Example Title #1\n        #\n        # @@ end\n        #\n        # @@ titles #2\n        #\n        # Example Title #2\n        #\n        # @@ end\n      \n        my $text = text 'name';\n      \n        # \"Example Name\"\n\n    text example 2\n\n        package main;\n      \n        use Venus 'text';\n      \n        # @@ name\n        #\n        # Example Name\n        #\n        # @@ end\n        #\n        # @@ titles #1\n        #\n        # Example Title #1\n        #\n        # @@ end\n        #\n        # @@ titles #2\n        #\n        # Example Title #2\n        #\n        # @@ end\n      \n        my $text = text 'titles', '#1';\n      \n        # \"Example Title #1\"\n\n    text example 3\n\n        package main;\n      \n        use Venus 'text';\n      \n        # @@ name\n        #\n        # Example Name\n        #\n        # @@ end\n        #\n        # @@ titles #1\n        #\n        # Example Title #1\n        #\n        # @@ end\n        #\n        # @@ titles #2\n        #\n        # Example Title #2\n        #\n        # @@ end\n      \n        my $text = text undef, 'name';\n      \n        # \"Example Name\"\n\n then\n\n      then(string | object | coderef $self, any @args) (any)\n\n    The then function proxies the call request to the \"call\" function and\n    returns the result as a list, prepended with the invocant.\n\n    Since 2.32\n\n    then example 1\n\n        package main;\n      \n        use Venus 'then';\n      \n        my @list = then('Digest::SHA', 'sha1_hex');\n      \n        # (\"Digest::SHA\", \"da39a3ee5e6b4b0d3255bfef95601890afd80709\")\n\n throw\n\n      throw(string | hashref $value, string | coderef $code, any @args) (any)\n\n    The throw function builds and returns a Venus::Throw object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    throw example 1\n\n        package main;\n      \n        use Venus 'throw';\n      \n        my $throw = throw 'Example::Error';\n      \n        # bless({...}, 'Venus::Throw')\n\n    throw example 2\n\n        package main;\n      \n        use Venus 'throw';\n      \n        my $throw = throw 'Example::Error', 'catch', 'error';\n      \n        # bless({...}, 'Example::Error')\n\n    throw example 3\n\n        package main;\n      \n        use Venus 'throw';\n      \n        my $throw = throw {\n          name =\u003e 'on.execute',\n          package =\u003e 'Example::Error',\n          capture =\u003e ['...'],\n          stash =\u003e {\n            time =\u003e time,\n          },\n        };\n      \n        # bless({...}, 'Venus::Throw')\n\n true\n\n      true() (boolean)\n\n    The true function returns a truthy boolean value which is designed to\n    be practically indistinguishable from the conventional numerical 1\n    value.\n\n    Since 0.01\n\n    true example 1\n\n        package main;\n      \n        use Venus;\n      \n        my $true = true;\n      \n        # 1\n\n    true example 2\n\n        package main;\n      \n        use Venus;\n      \n        my $false = !true;\n      \n        # 0\n\n try\n\n      try(any $data, string | coderef $code, any @args) (any)\n\n    The try function builds and returns a Venus::Try object, or dispatches\n    to the coderef or method provided.\n\n    Since 2.55\n\n    try example 1\n\n        package main;\n      \n        use Venus 'try';\n      \n        my $try = try sub {};\n      \n        # bless({...}, 'Venus::Try')\n      \n        # my $result = $try-\u003eresult;\n      \n        # ()\n\n    try example 2\n\n        package main;\n      \n        use Venus 'try';\n      \n        my $try = try sub { die };\n      \n        # bless({...}, 'Venus::Try')\n      \n        # my $result = $try-\u003eresult;\n      \n        # Exception! (isa Venus::Error)\n\n    try example 3\n\n        package main;\n      \n        use Venus 'try';\n      \n        my $try = try sub { die }, 'maybe';\n      \n        # bless({...}, 'Venus::Try')\n      \n        # my $result = $try-\u003eresult;\n      \n        # undef\n\n type\n\n      type(any $data, string | coderef $code, any @args) (any)\n\n    The type function builds and returns a Venus::Type object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    type example 1\n\n        package main;\n      \n        use Venus 'type';\n      \n        my $type = type [1..4];\n      \n        # bless({...}, 'Venus::Type')\n      \n        # $type-\u003ededuce;\n      \n        # bless({...}, 'Venus::Array')\n\n    type example 2\n\n        package main;\n      \n        use Venus 'type';\n      \n        my $type = type [1..4], 'deduce';\n      \n        # bless({...}, 'Venus::Array')\n\n unpack\n\n      unpack(any @args) (Venus::Unpack)\n\n    The unpack function builds and returns a Venus::Unpack object.\n\n    Since 2.40\n\n    unpack example 1\n\n        package main;\n      \n        use Venus 'unpack';\n      \n        my $unpack = unpack;\n      \n        # bless({...}, 'Venus::Unpack')\n      \n        # $unpack-\u003echecks('string');\n      \n        # false\n      \n        # $unpack-\u003echecks('undef');\n      \n        # false\n\n    unpack example 2\n\n        package main;\n      \n        use Venus 'unpack';\n      \n        my $unpack = unpack rand;\n      \n        # bless({...}, 'Venus::Unpack')\n      \n        # $unpack-\u003echeck('number');\n      \n        # false\n      \n        # $unpack-\u003echeck('float');\n      \n        # true\n\n vars\n\n      vars(hashref $value, string | coderef $code, any @args) (any)\n\n    The vars function builds and returns a Venus::Vars object, or\n    dispatches to the coderef or method provided.\n\n    Since 2.55\n\n    vars example 1\n\n        package main;\n      \n        use Venus 'vars';\n      \n        my $vars = vars {};\n      \n        # bless({...}, 'Venus::Vars')\n\n    vars example 2\n\n        package main;\n      \n        use Venus 'vars';\n      \n        my $path = vars {}, 'exists', 'path';\n      \n        # \"...\"\n\n venus\n\n      venus(string $name, any @args) (any)\n\n    The venus function build a Venus package via the \"chain\" function based\n    on the name provided and returns an instance of that package.\n\n    Since 2.40\n\n    venus example 1\n\n        package main;\n      \n        use Venus 'venus';\n      \n        my $space = venus 'space';\n      \n        # bless({value =\u003e 'Venus'}, 'Venus::Space')\n\n    venus example 2\n\n        package main;\n      \n        use Venus 'venus';\n      \n        my $space = venus 'space', ['new', 'venus/string'];\n      \n        # bless({value =\u003e 'Venus::String'}, 'Venus::Space')\n\n    venus example 3\n\n        package main;\n      \n        use Venus 'venus';\n      \n        my $space = venus 'code';\n      \n        # bless({value =\u003e sub{...}}, 'Venus::Code')\n\n work\n\n      work(coderef $callback) (Venus::Process)\n\n    The work function builds a Venus::Process object, forks the current\n    process using the callback provided via the \"work\" in Venus::Process\n    operation, and returns an instance of Venus::Process representing the\n    current process.\n\n    Since 2.40\n\n    work example 1\n\n        package main;\n      \n        use Venus 'work';\n      \n        my $parent = work sub {\n          my ($process) = @_;\n          # in forked process ...\n          $process-\u003eexit;\n        };\n      \n        # bless({...}, 'Venus::Process')\n\n wrap\n\n      wrap(string $data, string $name) (coderef)\n\n    The wrap function installs a wrapper function in the calling package\n    which when called either returns the package string if no arguments are\n    provided, or calls \"make\" on the package with whatever arguments are\n    provided and returns the result. Unless an alias is provided as a\n    second argument, special characters are stripped from the package to\n    create the function name.\n\n    Since 2.32\n\n    wrap example 1\n\n        package main;\n      \n        use Venus 'wrap';\n      \n        my $coderef = wrap('Digest::SHA');\n      \n        # sub { ... }\n      \n        # my $digest = DigestSHA();\n      \n        # \"Digest::SHA\"\n      \n        # my $digest = DigestSHA(1);\n      \n        # bless(do{\\(my $o = '...')}, 'Digest::SHA')\n\n    wrap example 2\n\n        package main;\n      \n        use Venus 'wrap';\n      \n        my $coderef = wrap('Digest::SHA', 'SHA');\n      \n        # sub { ... }\n      \n        # my $digest = SHA();\n      \n        # \"Digest::SHA\"\n      \n        # my $digest = SHA(1);\n      \n        # bless(do{\\(my $o = '...')}, 'Digest::SHA')\n\n yaml\n\n      yaml(string $call, any $data) (any)\n\n    The yaml function builds a Venus::Yaml object and will either \"decode\"\n    in Venus::Yaml or \"encode\" in Venus::Yaml based on the argument\n    provided and returns the result.\n\n    Since 2.40\n\n    yaml example 1\n\n        package main;\n      \n        use Venus 'yaml';\n      \n        my $decode = yaml 'decode', \"---\\nname:\\n- Ready\\n- Robot\\nstable: true\\n\";\n      \n        # { name =\u003e [\"Ready\", \"Robot\"], stable =\u003e 1 }\n\n    yaml example 2\n\n        package main;\n      \n        use Venus 'yaml';\n      \n        my $encode = yaml 'encode', { name =\u003e [\"Ready\", \"Robot\"], stable =\u003e true };\n      \n        # '---\\nname:\\n- Ready\\n- Robot\\nstable: true\\n'\n\n    yaml example 3\n\n        package main;\n      \n        use Venus 'yaml';\n      \n        my $yaml = yaml;\n      \n        # bless({...}, 'Venus::Yaml')\n\n    yaml example 4\n\n        package main;\n      \n        use Venus 'yaml';\n      \n        my $yaml = yaml 'class', {data =\u003e \"...\"};\n      \n        # Exception! (isa Venus::Fault)\n\nFEATURES\n\n    This package provides the following features:\n\n    venus-args\n\n      This library contains a Venus::Args class which provides methods for\n      accessing @ARGS items.\n\n    venus-array\n\n      This library contains a Venus::Array class which provides methods for\n      manipulating array data.\n\n    venus-assert\n\n      This library contains a Venus::Assert class which provides a\n      mechanism for asserting type constraints and coercion.\n\n    venus-boolean\n\n      This library contains a Venus::Boolean class which provides a\n      representation for boolean values.\n\n    venus-box\n\n      This library contains a Venus::Box class which provides a pure Perl\n      boxing mechanism.\n\n    venus-class\n\n      This library contains a Venus::Class class which provides a class\n      builder.\n\n    venus-cli\n\n      This library contains a Venus::Cli class which provides a superclass\n      for creating CLIs.\n\n    venus-code\n\n      This library contains a Venus::Code class which provides methods for\n      manipulating subroutines.\n\n    venus-config\n\n      This library contains a Venus::Config class which provides methods\n      for loading Perl, YAML, and JSON configuration data.\n\n    venus-data\n\n      This library contains a Venus::Data class which provides methods for\n      extracting DATA sections and POD block.\n\n    venus-date\n\n      This library contains a Venus::Date class which provides methods for\n      formatting, parsing, and manipulating dates.\n\n    venus-dump\n\n      This library contains a Venus::Dump class which provides methods for\n      reading and writing dumped Perl data.\n\n    venus-error\n\n      This library contains a Venus::Error class which represents a\n      context-aware error (exception object).\n\n    venus-false\n\n      This library contains a Venus::False class which provides the global\n      false value.\n\n    venus-fault\n\n      This library contains a Venus::Fault class which represents a generic\n      system error (exception object).\n\n    venus-float\n\n      This library contains a Venus::Float class which provides methods for\n      manipulating float data.\n\n    venus-gather\n\n      This library contains a Venus::Gather class which provides an\n      object-oriented interface for complex pattern matching operations on\n      collections of data, e.g. array references.\n\n    venus-hash\n\n      This library contains a Venus::Hash class which provides methods for\n      manipulating hash data.\n\n    venus-json\n\n      This library contains a Venus::Json class which provides methods for\n      reading and writing JSON data.\n\n    venus-log\n\n      This library contains a Venus::Log class which provides methods for\n      logging information using various log levels.\n\n    venus-match\n\n      This library contains a Venus::Match class which provides an\n      object-oriented interface for complex pattern matching operations on\n      scalar values.\n\n    venus-meta\n\n      This library contains a Venus::Meta class which provides\n      configuration information for Venus derived classes.\n\n    venus-mixin\n\n      This library contains a Venus::Mixin class which provides a mixin\n      builder.\n\n    venus-name\n\n      This library contains a Venus::Name class which provides methods for\n      parsing and formatting package namespaces.\n\n    venus-number\n\n      This library contains a Venus::Number class which provides methods\n      for manipulating number data.\n\n    venus-opts\n\n      This library contains a Venus::Opts class which provides methods for\n      handling command-line arguments.\n\n    venus-path\n\n      This library contains a Venus::Path class which provides methods for\n      working with file system paths.\n\n    venus-process\n\n      This library contains a Venus::Process class which provides methods\n      for handling and forking processes.\n\n    venus-prototype\n\n      This library contains a Venus::Prototype class which provides a\n      simple construct for enabling prototype-base programming.\n\n    venus-random\n\n      This library contains a Venus::Random class which provides an\n      object-oriented interface for Perl's pseudo-random number generator.\n\n    venus-regexp\n\n      This library contains a Venus::Regexp class which provides methods\n      for manipulating regexp data.\n\n    venus-replace\n\n      This library contains a Venus::Replace class which provides methods\n      for manipulating regexp replacement data.\n\n    venus-run\n\n      This library contains a Venus::Run class which provides a base class\n      for providing a command execution system for creating CLIs\n      (command-line interfaces).\n\n    venus-scalar\n\n      This library contains a Venus::Scalar class which provides methods\n      for manipulating scalar data.\n\n    venus-search\n\n      This library contains a Venus::Search class which provides methods\n      for manipulating regexp search data.\n\n    venus-space\n\n      This library contains a Venus::Space class which provides methods for\n      parsing and manipulating package namespaces.\n\n    venus-string\n\n      This library contains a Venus::String class which provides methods\n      for manipulating string data.\n\n    venus-task\n\n      This library contains a Venus::Task class which provides a base class\n      for creating CLIs (command-line interfaces).\n\n    venus-template\n\n      This library contains a Venus::Template class which provides a\n      templating system, and methods for rendering template.\n\n    venus-test\n\n      This library contains a Venus::Test class which aims to provide a\n      standard for documenting Venus derived software projects.\n\n    venus-throw\n\n      This library contains a Venus::Throw class which provides a mechanism\n      for generating and raising error objects.\n\n    venus-true\n\n      This library contains a Venus::True class which provides the global\n      true value.\n\n    venus-try\n\n      This library contains a Venus::Try class which provides an\n      object-oriented interface for performing complex try/catch\n      operations.\n\n    venus-type\n\n      This library contains a Venus::Type class which provides methods for\n      casting native data types to objects.\n\n    venus-undef\n\n      This library contains a Venus::Undef class which provides methods for\n      manipulating undef data.\n\n    venus-unpack\n\n      This library contains a Venus::Unpack class which provides methods\n      for validating, coercing, and otherwise operating on lists of\n      arguments.\n\n    venus-vars\n\n      This library contains a Venus::Vars class which provides methods for\n      accessing %ENV items.\n\n    venus-yaml\n\n      This library contains a Venus::Yaml class which provides methods for\n      reading and writing YAML data.\n\nAUTHORS\n\n    Awncorp, awncorp@cpan.org\n\nLICENSE\n\n    Copyright (C) 2000, Awncorp, awncorp@cpan.org.\n\n    This program is free software, you can redistribute it and/or modify it\n    under the terms of the Apache license version 2.0.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawncorp%2Fvenus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawncorp%2Fvenus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawncorp%2Fvenus/lists"}