Thread regulärer ausdruck will nicht (10 answers)
Opened by shaihulud at 2006-05-10 14:18

shaihulud
 2006-05-10 17:27
#65927 #65927
User since
2006-04-12
76 Artikel
BenutzerIn
[default_avatar]
[quote=betterworld,10.05.2006, 14:26]"var" gibt es in Pascal, nicht in Perl.  Etwas aehnliches kannst Du in Perl tun:
Code: (dl )
1
2
3
4
5
6
7
8
sub foo {
  my ($a, undef, $b) = @_;
  $_[1] = $a * $b;
}

my $c;
foo(7,$c,8);
print $c, "\n"; # 56

Das sieht nur etwas unschoen aus.  Mit Prototypen kann man das so schreiben:
Code: (dl )
1
2
3
4
5
6
sub foo ($\$$) {
  my ($a, $b, $c) = @_;
  $$b = $a * $c;
}
foo(7,$b,8);
print $b, "\n";


Ich nehme an, dass du "return" schon kennst?  Damit kannst Du eine beliebig lange Liste von Variablen oder/incl. eine Referenz auf z. B. einen Hash zurueckgeben.  Ansonsten gibt es noch "globale Variablen", aber das ist schlecht und man sollte es nicht tun.[/quote]
ja das mit refernzen kenn ich, aber ich hab so unglaublich viele daten aus unterprogs nötig in meinem hauptprogramm dass ich mit referenzen erstmal 20 deklarationen machen muss
Code: (dl )
1
2
3
4
5
my $a;
my $b;
my @c;
my %d;
etc...

so dass es unglaublich häßlich wirkt. Dachte es gäbe vielleicht ne bessere Lösung. weil ich ja dann auch immer im unterprogramm erstmal dereferenzieren muss
Code: (dl )
1
2
3
4
5
6
7
8
9
use lib....
use foo;
my $a = 5;
&foo($a);
--------
sub foo{
my $a =shift;
print ${$a};
}


aber wenn ihr meint dass es die beste Lösung ist dann mach ichs halt so

View full thread regulärer ausdruck will nicht