Thread Strukturelles Matching: Gibt es dafür ein Perlmodul?
(9 answers)
Opened by murphy at 2004-08-09 20:54 Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 sub match { my ($ref, $what) = @_; my $idx = 0; while ($idx<@$ref) { if (ref $what->[$idx] eq "SCALAR") { ${ $what->[$idx] } = $ref->[$idx]; } elsif ( (ref $what->[$idx] eq "ARRAY") or (ref $ref->[$idx] eq "ARRAY")) { match ($ref->[$idx], $what->[$idx]); } $idx++; } } my $a = [1, [2, 3], 4]; my $b; match ($a, [1, \$b, 3]); print $b->[1], $/; match ($a, [1, [2, \$b], 3]); print $b, $/; vorsicht wegen structure sharing ... hth fehlerbehandlung?\n\n <!--EDIT|kabel|1092073157--> -- stefan
|