18. Entwicklung der Syntax
● Apokalypsen
● Exegesen
● Synopsen
● wiki.perl-community.de/bin/view/Wissensbasis/PerlTafel
● http://perl-6.de/
19. Entwicklung der Syntax
● p6l (perl6-language@perl.org)
● #perl6 (irc.freenode.org/perl6)
20. Entwicklung der Syntax
● p6l (perl6-language@perl.org)
● #perl6 (irc.freenode.org/perl6)
● Larry Wall, Damian Conway, Patrick R. Michaud,
Allison Randal, chromatic
21. Entwicklung der Syntax
● p6l (perl6-language@perl.org)
● #perl6 (irc.freenode.org/perl6)
● Larry Wall, Damian Conway, Patrick R. Michaud,
Allison Randal, chromatic
● Dan Sugalski, Luke Palmer, Audrey Tang
52. for - Schleife
for my $zeile (@zeilen) { ...
for @zeilen -> $zeile { ...
53. for - Schleife
while (@zahlen) { …
my $a = shift @zahlen;
my $a = shift @zahlen;
for @zahlen -> $a, $b { ...
54. for - Schleife
my %tabelle = (Paul => 1.78, Heinz => 2.03);
while (($name, $laenge) = each %tabelle) {
say "$name ist $laenge lang.";
}
my %tabelle = (Paul => 1.78, Heinz => 2.03);
for %tabelle.kv -> $name, $länge {
say "$name ist $länge lang.";
}
55. for - Schleife
my @c = (@za, @zb);
my $i = 0;
for (0 .. $#a + $#b){
my $a = shift @{$c[$i]};
$i = abs 1 - $i;
for @za Z @zb -> $a { …
56. Schleifen
for my $i (0 .. $#a) {
my $a = @a[$i];
my $b = @b[$i];
my $c = @c[$i]; ...
for zip (@a; @b; @c) -> $a, $b, $c { ...
74. Roles
class WebCrawler does Log4Perl { … }
$objekt does Log4Perl;
role Log4Perl {
has @.log_lines;
has $.log_size is rw = 100;
method log_message($message) {
...
}
}
85. Parrot Code
#copy stdin to stdout, except for lines starting with #
while left_angle_right_angle:
if dollar_underscore[0] =eq= "#":
continue_next;
}
print dollar_underscore;
}
102. Pasm
new P0, 'PerlArray'
set I0, 100000
time N0
lp1:
push P0, I0
dec I0
if I0, lp1
time N1
sub N1, N0
print "constr.time "
print N1
print "n"
103. Parrot's Sprachen
● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
104. PIR
.sub main :main
$I0 = 0 # initialized
if $I0 goto l1
$I1 = 1 # init in block 1
goto l2
l1:
$I1 = 2 # init in block 2
l2:
print $I0
print $I1 # all paths leading here do init
print "n"
end
.end
105. Parrot's Sprachen
● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
106. Parrot's Sprachen
● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
107. Parrot's Sprachen
● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
● NQP Not Quit Perl 6
108. Parrot's Sprachen
● .pbc Parrot bytecode
● .pasm P. Assembler
● .pir P. Intermed. Repr.
● PGE P.Grammar Engine
● NQP Not Quite Perl 6