Ragazzi io sono un po 'confuso, stavo giocando con scoping in Perl, quando ho incontrato questo:Differenza tra un blocco e una funzione in termini di 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!"
ma quando lo faccio this:
{
our $x = "nested";
}
print our($x); # Prints "nested"
print our $x; # Prints "nested"
print $x; # Prints "nested"
Quindi ragazzi potete spiegarmi perché quelli funzionano e no?
ma per quanto riguarda lo scopo della funzione? –
@BelmarkCaday - non hai aspettato fino alla seconda modifica :).A proposito, ho omesso i rigidi/avvertimenti nell'ultimo comando semplicemente perché la formattazione di SE ha creato uno scoller orizzontale a causa di una stringa troppo lunga. – DVK
@DVK: '$ $ perl -Mstrict -we '...'' – Zaid