1use v6;
2
3# Normal single line comment
4my Int $i = 0;
5my Rat $r = 3.142;
6my Str $s = "Hello, world! \$i == $i and \$r == $r";
7say $s;
8
9#`{{
10*** This is a multi-line comment ***
11}}
12
13my @array = #`[[ inline comment ]] <f fo foo food>;
14my %hash = ( AAA => 1, BBB => 2 );
15
16say q[This back\slash stays];
17say q[This back\\slash stays]; # Identical output
18say Q:q!Just a literal "\n" here!;
19
20=begin pod
21POD Documentation...
22=end pod
23
24say qq:to/END/;
25A multi-line
26string with interpolated vars: $i, $r
27END
28
29sub function {
30	return q:to/END/;
31Here is
32some multi-line
33string
34END
35}
36
37my $func = &function;
38say $func();
39
40grammar Calculator {
41	token TOP					{ <calc-op> }
42	proto rule calc-op			{*}
43		  rule calc-op:sym<add>	{ <num> '+' <num> }
44		  rule calc-op:sym<sub>	{ <num> '-' <num> }
45    token num					{ \d+ }
46}
47
48class Calculations {
49	method TOP              ($/) { make $<calc-op>.made; }
50	method calc-op:sym<add> ($/) { make [+] $<num>; }
51	method calc-op:sym<sub> ($/) { make [-] $<num>; }
52}
53
54say Calculator.parse('2 + 3', actions => Calculations).made;
55