Hallo Bernhard,
Gibts irgendsowas ähnliches wie pass by reference auch in Perl? Ich
würd gern mehrere Variablen mit einem Funktionsaufruf ändern. Also
In Perl werden Variable standardmaessig by reference uebergeben.
Erst mit einer lokalen Kopie von @_ aenderst Du dies in pass by value.
Wenn Du aber @_ direkt bearbeitest, aenderst Du auch die uebergebenen Werte:
#!perl -w
use strict;
my $x = 1;
my $y = 2;
change($x,$y);
print "$x, $y"; # gibt 3, 4 aus
sub change {
$_[0] = 3;
$_[1] = 4;
}
oder Du gibst einfach mehrere geaenderte Werte zurueck:
#!perl -w
use strict;
my $x = 1;
my $y = 2;
($x, $y) = change($x,$y);
print "$x, $y";
sub change {
my ($a, $b) = @_;
$a = 3;
$b = 4;
return ($a, $b);
}
perldoc perlsub
Oder Du benutzt Referenzen, s. Calocybe.
Liebe Grüsse
Bernhard aka RAMBO!!!!
Gruss
Kai