in reply to Re: prefix notation in an array
in thread prefix notation in an array
This gives me#!/usr/bin/perl + + use Data::Dumper; my $clauses; push(@$clauses, ["==","a","b"]); push(@$clauses, "and"); push(@$clauses, ["==","c","d"]); push(@$clauses, "or"); push(@$clauses, ["==","e","f"]); push(@$clauses, "and"); push(@$clauses, ["==","g","h"]); $Data::Dumper::Indent = 0; + + my $list = BuildList($clauses); print Dumper($list). "\n"; sub BuildList($) { my $clauses = shift(); my $list; while(my $clause = shift(@$clauses)) { if($clause eq "and") { $list = ['AND',[$list], [shift(@$clauses)]]; } elsif($clause eq "or") { $list = ["OR",[$list, BuildList($clauses)]]; } else { $list = $clause } } return($list); }
Thanks for all the input.['OR',[['AND',[['==','a','b']],[['==','c','d']]],['AND',[['==','e','f' +]],[['==','g','h']]]]]
|
|---|