NAME

App::metasyn - Alternative front-end to Acme::MetaSyntactic

VERSION

This document describes version 0.002 of App::metasyn (from Perl distribution App-metasyn), released on 2017-02-17.

SYNOPSIS

Use the included script metasyn.

FUNCTIONS

metasyn

Usage:

metasyn(%args) -> [status, msg, result, meta]

Alternative front-end to Acme::MetaSyntactic.

Examples:

  • List all installed themes:

    metasyn( action => "list-themes");

    Result:

    [
      200,
      "OK",
      [
        "abba",
        "afke",
        "alice",
        "alphabet",
        "amber",
        "antlers",
        "any",
        "asterix",
        "barbapapa",
        "barbarella",
        "batman",
        "ben_and_jerry",
        "bible",
        "booze",
        "bottles",
        "browser",
        "buffy",
        "calvin",
        "camelidae",
        "care_bears",
        "chess",
        "chinese_zodiac",
        "christmas",
        "colors",
        "colours",
        "constellations",
        "contrade",
        "contributors",
        "counting_rhyme",
        "counting_to_one",
        "countries",
        "crypto",
        "currency",
        "dancers",
        "dangdut",
        "debian",
        "dilbert",
        "discworld",
        "display_resolution",
        "doctor_who",
        "donmartin",
        "dwarves",
        "elements",
        "evangelion",
        "fabeltjeskrant",
        "facecards",
        "fawlty_towers",
        "flintstones",
        "foo",
        "frasier",
        "french_presidents",
        "garbage",
        "garfield",
        "gems",
        "good_omens",
        "groo",
        "haddock",
        "hhgg",
        "iata",
        "icao",
        "id_names",
        "invasions",
        "jabberwocky",
        "jamesbond",
        "jerkcity",
        "linux",
        "loremipsum",
        "lotr",
        "lucky_luke",
        "magic8ball",
        "magicroundabout",
        "magma",
        "mars",
        "metro",
        "monty_spam",
        "muses",
        "nis",
        "nobel_prize",
        "norse_mythology",
        "octothorpe",
        "olympics",
        "opcodes",
        "oulipo",
        "pantagruel",
        "pasta",
        "pause_id",
        "peanuts",
        "pgpfone",
        "phonetic",
        "pie",
        "planets",
        "pm_groups",
        "pokemon",
        "pooh",
        "pop2",
        "pop3",
        "pornstars",
        "pumpkings",
        "punctuation",
        "pynchon",
        "python",
        "quantum",
        "regions",
        "reindeer",
        "renault",
        "robin",
        "roman",
        "scooby_doo",
        "screw_drives",
        "seinfeld",
        "services",
        "shadok",
        "simpsons",
        "sins",
        "smtp",
        "smurfs",
        "space_missions",
        "sql",
        "stars",
        "state_flowers",
        "summerwine",
        "swords",
        "tarot",
        "teletubbies",
        "thunderbirds",
        "tld",
        "tmnt",
        "tokipona",
        "tour_de_france",
        "trigan",
        "unicode",
        "us_presidents",
        "userfriendly",
        "vcs",
        "viclones",
        "wales_towns",
        "weekdays",
        "yapc",
        "zodiac",
      ],
      {},
    ]
  • List all names from a theme:

    metasyn( theme => "foo");

    Result:

    [
      200,
      "OK",
      [
        "foo",
        "bar",
        "baz",
        "foobar",
        "fubar",
        "qux",
        "quux",
        "corge",
        "grault",
        "garply",
        "waldo",
        "fred",
        "plugh",
        "xyzzy",
        "thud",
        "toto",
        "titi",
        "tata",
        "tutu",
        "pipo",
        "bidon",
        "test1",
        "test2",
        "test3",
        "truc",
        "chose",
        "machin",
        "chouette",
        "bidule",
        "aap",
        "noot",
        "mies",
        "wim",
        "zus",
        "jet",
        "teun",
        "vuur",
        "gijs",
        "lam",
        "kees",
        "bok",
        "weide",
        "does",
        "hok",
        "duif",
        "schapen",
      ],
      {},
    ]
  • List all names from a theme in random order:

    metasyn( theme => "christmas/elf", shuffle => 1);

    Result:

    [
      200,
      "OK",
      [
        "minstix",
        "bushy",
        "snowball",
        "upatree",
        "alabaster",
        "opneslae",
        "mary",
        "sugarplum",
        "shinny",
        "wunorse",
        "evergreen",
        "pepper",
      ],
      {},
    ]
  • List all categories from a theme:

    metasyn( theme => "christmas", categories => 1);

    Result:

    [200, "OK", ["santa", "snowman", "elf", "reindeer"], {}]

This script is an alternative front-end to Acme::MetaSyntactic. Compared to the official CLI meta, this CLI is more oriented towards listing names instead of giving you one or several random names.

This function is not exported.

Arguments ('*' denotes required arguments):

  • action => str (default: "list-names")

  • categories => bool

  • shuffle => bool

  • theme => str

Returns an enveloped result (an array).

First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.

Return value: (any)

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/App-metasyn.

SOURCE

Source repository is at https://github.com/perlancar/perl-App-metasyn.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=App-metasyn

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.

SEE ALSO

meta.

AUTHOR

perlancar <perlancar@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2017 by perlancar@cpan.org.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.