Hallo!
Es geht darum, die Ausführungsreihenfolge zu beeinflussen, damit bereits bestehende Code Teile zusammen stehen bleiben können wegen der besseren Wartbarkeit. Das Script gibt es bereits in der unten gezeigten Struktur und ich möchte das möglichst nicht ändern.
Hier mein Versuch:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
use strict;
use warnings;
use 5.010;
sub testsub {
my ($over) = @_;
if (1==1) {
if (1==1) {
my @codes;
foreach my $sub (@codes) {
$sub->($over);
}
{
if (1==1) {
say "hier findet eine x-beliebige Sache statt";
BEGIN {
push @codes,sub {
my ($over) = @_;
say "Hello1!";
};
}
}
if (1==1) {
say "und hier auch";
BEGIN {
push @codes,sub {
my ($over) = @_;
say "Hello2!";
};
}
}
}
}
}
}
Bringt:
QuoteVariable "@codes" will not stay shared at test_reihenfolge.pl line 26.
Variable "@codes" will not stay shared at test_reihenfolge.pl line 35.
was mir ja auch klar ist. Kann man das trotzdem in dieser Reihenfolge hinbekommen?
10 print "Hallo"
20 goto 10