Jungen, die ich ein wenig verwirrt bin, war ich mit Scoping in Perl zu spielen, wenn ich begegne diesen:Unterschied zwischen einem Block und einer Funktion in Bezug auf dem Scoping in Perl
#! usr/bin/perl
use warnings;
use strict;
sub nested {
our $x = "nested!";
}
print $x; # Error "Variable "$x" is not imported at nested line 10."
print our $x; # Doesn't print "nested!"
print our($x) # Doesn't print "nested!"
Aber wenn ich tue dies:
{
our $x = "nested";
}
print our($x); # Prints "nested"
print our $x; # Prints "nested"
print $x; # Prints "nested"
So Jungs können Sie mir erklären, warum diese funktioniert und nicht?
aber was ist mit dem Funktionsumfang? –
@BelmarkCaday - Sie haben nicht bis zur zweiten Bearbeitung gewartet :).Übrigens habe ich strict/warnings im letzten Befehl einfach weggelassen, weil die SE-Formatierung den horizontalen Scoller wegen der zu langen Zeichenfolge erstellt hat. – DVK
@DVK: '$ perl -Mstrict -we '...'' – Zaid