Thread Ausführungsreihenfolge (2 answers)
Opened by bianca at 2021-08-22 20:49

bianca
 2021-08-22 20:49
#193553 #193553
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
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:
Code (perl): (dl )
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
#!/usr/bin/perl
use strict;
use warnings;
use 5.010;

# diese Datei wird von extern aufgerufen
# mittels require test_reihenfolge.pl
# und dann testsub(\%over);

sub testsub {
        my ($over) = @_;
        if (1==1) {
                if (1==1) {
                        my @codes;
                        #
                        # genau hier sollen alle Deklarationen unten
                        # in den BEGIN Blöcken stattfinden
                        #
                        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!";
                                                };
                                        }
                                }
                                # hier kommen noch viele weitere Abschnitte
                        }
                }
        }
}

Bringt:
Quote
Variable "@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

View full thread Ausführungsreihenfolge