Thread Seiteneffekt von our (11 answers)
Opened by GwenDragon/Linux at 2018-07-02 16:05

Linuxer
 2018-07-01 23:09
#188602 #188602
User since
2006-01-27
3871 Artikel
HausmeisterIn

user image
Naja, erster Gedanke war: Du wechselst ja gar nicht zurück nach main, sondern bleibst im Package A.

Der zweite war: Laut perldoc erzeugt our einen lexikalischen Alias in Form der gegebenen Variable.
Da es keinen umschließenden Block gibt, innerhalb dessen diese Deklaration steht, gilt sie für die gesamte Datei...

Vergleiche dazu zum Geltungsbereich auch das Verhalten bei Verwendung von my:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 /usr/bin/perl
use strict;
use warnings;

use 5.020;

package A;

my $test = 42;
say $test;

1;

package main;

say $test;


und

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#! /usr/bin/perl
use strict;
use warnings;

use 5.020;

{ # Beware: Package enclosed in Block
package A;

my $test = 42;
say $test;

1;
}
package main;

say $test;


PS: So reim ich mir das jedenfalls zusammen ;-)
Last edited: 2018-07-01 23:19:12 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Seiteneffekt von our