perl variable scope
Giorgos Keramidas
keramida at ceid.upatras.gr
Thu Sep 6 20:29:50 EEST 2007
On 2007-09-06 19:44, Giorgos Pallas <gpall at ccf.auth.gr> wrote:
> Ξέρατε ότι...
> άλλο αυτό: my $other, $sum;
> και άλλο αυτό: my $sum, $other;
> και άλλο αυτό: my($other, $sum);
>
> στα δυο πρώτα μόνο η πρώτη μεταβλητή δηλώνεται τοπική (πχ μέσα σε μια
> sub) ενώ η δεύτερη είναι global. Το τρίτο (που είναι και το σωστό - αυτό
> που μάλλον ήθελες δηλαδή) τις κάνει και τις δυο local... κουφό; Τέλος
> πάντων.
Ναι, αλλά thanks για το email. Όλο και κάποιος θα έχει μείνει επίσης
μαλάκας όταν κατάλαβε ότι το my operator μπορεί να γίνει apply σε ένα
identifier χωρίς παρενθέσεις ή (σε array-context) σε περισσότερα αλλά
μόνο με παρενθέσεις :-)
Ένα άλλο χρήσιμο Perl syntax trick είναι και το:
foreach my $var (@arrayname) {
}
που δηλώνει την $var μόνο μέσα στο body του foreach, με ενδιαφέροντα
obfuscation attributes όπως το:
foreach#$key(@pseudoarray){
my$x((1,2,3)){print"$x\n";}
More information about the Linux-greek-users
mailing list