NAME

App::Grok::Resource::u4x - u4x resource for grok

SYNOPSIS

use strict;
use warnings;
use App::Grok::Resource::u4x qw<:ALL>;

# a list of all terms
my @index = u4x_index();

# documentation for a single term 
my $pod = u4x_fetch('infix:<+>');

DESCRIPTION

This resource looks maintains an index of syntax items that can be looked up. See http://svn.pugscode.org/pugs/docs/u4x/README.

FUNCTIONS

u4x_index

Takes no arguments. Lists all syntax items.

u4x_fetch

Takes an syntax item as an argument. Returns the documentation for it.

u4x_locate

Takes a syntax item as an argument. Returns the file where it was found.

infix:<+>

Adds two numbers together. If either of the things being added is not a Num, it will be converted to one before the addition. The result will be of the narrowest type possible.

prefix:<+>

Converts an object into a Num. In the case of List and Map, the numeric value is the number of elements and Pairs, respectively. Note that it's commas and not parentheses alone do not create a List, otherwise the following might be a surprise:

say +(4,5,6);  # 3
say +(4);      # 4

The same surprise does not happen for arrays, though, since they convey list context:

my @a = 4;
say +@a;       # 1

twigil:<+>

This twigil is deprecated. Use the * twigil instead.

regex~quantifier:<+>

Means 'one or more of the previous atom'. In other words, it means the same as <{1..*}>.

regex~assertion:sym<+>

Used before and between character classes inside <> assertions to indicate the characters included in the match. Thus

<+digit-[02468]+[4]>

will match all odd digits and the digit 4.

The plus at the start of an assertion is a no-op and can be left out.

version~postfix:<+>

The string form of a version recognizes the * wildcard in place of any position. It also recognizes a trailing +, so

:ver<6.2.3+>

is short for

:ver(v6.2.3 .. v6.2.*)

And saying

:ver<6.2.0+>

specifically rules out any prereleases.