Leser: 26
1
2
3
4
5
6
7
8
9
subtest("A", 1..3);
sub subtest($$) {
my ($arg1, $arg2) = (shift, shift);
# ...
for my $i ($arg2) {
# sollte jetzt von 1 bis 3 laufen....
1 2 3 4 5 6 7 8 9 10 11 12
subtest("A", 1..3); sub subtest($@) { my ($arg1, @arg2) = @_; # ... for my $i (@arg2) { # sollte jetzt von 1 bis 3 laufen.... print $i; } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
my @range = (1..3); sub subtest($\@) { my ($arg1, $arg2) = @_; # ... for my $i (@$arg2) { # sollte jetzt von 1 bis 3 laufen.... print $i; } } subtest("A", @range);
2009-09-25T09:06:11 reneeIch glaub, ich weiß jetzt was Du möchtest. Ganz so wie Du es willst, geht es nicht, weil der "Range" kein Array sondern eine Liste ist.
Du kannst es so machen:Code (perl): (dl )1 2 3 4 5 6 7 8 9 10 11 12subtest("A", 1..3); sub subtest($@) { my ($arg1, @arg2) = @_; # ... for my $i (@arg2) { # sollte jetzt von 1 bis 3 laufen.... print $i; } }
Warum arbeitest Du überhaupt so viel mit Prototypen? Das ist mir schon in Deinen CPAN-Modulen aufgefallen.
2009-09-25T09:11:32 haviWas spricht gegen Prototypen?
QuoteWas spricht gegen Prototypen?
1
2
3
4
5
6
7
8
9
10
sub func ($$$$$) {
print join("\n", @_), "\n";
}
func(1,2,3,4,5); # geht
func(1..5); # geht nicht
my @args = (1 .. 4);
func(@args, 5); # geht auch nicht
func(@args, 6); # geht auch nicht