Array an Funktion übergeben
Cano2
- perl
Hi,
Ich will in Perl ein Array und einen String an eine Funktion übergeben. Ich hab schon alles mögliche probiert und komm einfach nicht klar.
THX, Cano2
Hallo auch
Ich will in Perl ein Array und einen String an eine Funktion übergeben. Ich hab schon alles mögliche probiert und komm einfach nicht klar.
Etwa so?
&Schreiben(@Formul,$Zeit);
Bei mir hat es auf jeden Fall funktioniert, versuch einfach mal die Variablen(Array)-Namen in der Funktion und im
programm gleich zu nennen.
Hoffentlich hilfts....
Grüsse Stefan
Hallo auch
Ich will in Perl ein Array und einen String an eine Funktion übergeben. Ich hab schon alles mögliche probiert und komm einfach nicht klar.
Etwa so?
&Schreiben(@Formul,$Zeit);
Das Unterprogramm sah etwa so aus...
sub Schreiben(@Formul,$Zeit)
{
}
Grüsse Stefan
Und nochmals..... :-)
Hallo,
Etwa so?
&Schreiben(@Formul,$Zeit);Bei mir hat es auf jeden Fall funktioniert, versuch einfach mal die Variablen(Array)-Namen in der Funktion und im
programm gleich zu nennen.
'Das glaub' ich nicht, Tim'.
Wenn Du zuerst das Array und erst dann den Skalar übergibst, dann landet alles im Array und der Skalar geht leer aus.
Entweder
&Schreiben($Zeit,@Formul);
oder eben mit Referenzen.
Grüße
Klaus
Hallo Cano2,
ich mach simmer so, dass wenn ich Hashes oder Arrays irgendwohin übergebe,
ich einfach nur eine Refernz daruf weitereiche, die Ihrerseits wir ein Skalar angesprochen wird.
Also quasi so :
#Hauptprogramm
use strict;
my @ARRAY('3','4','5','23','3');
my $string = "Text";
&unterprogramm(@ARRAY,$string);
sub unterprogramm
{
my ($Referenz_auf_ARRAY,$string) = @_;
print qq($Referenz_auf_ARRAY->[0]);
print qq($Referenz_auf_ARRAY->[1]);
print $string;
}
Ich hoffe ich konnte dir damit weiterhelfen.
Gruß
Holger
Hallo
Nur zur Ergänzung:
Die Referenz auf ein Array kann man natürlich auch wieder Dereferenzieren, dies steht sogar ansatzweise in SelfHTML: <../../tgcb.htm#a4>
&unterprogramm(@ARRAY,$string);
sub unterprogramm
{
my ($Referenz_auf_ARRAY,$string) = @_;
@New_Array = @{$Referenz_auf_ARRAY};
...
}
Dies kann nützlich sein, falls man Array-Funktionen wie push(), pop() etc. verwenden will.
Grüsse
Tom