Dinesman's multiple-dwelling problem: Difference between revisions

Content added Content deleted
m (→‎{{header|Perl}}: revised where 'warnings' pragma used)
Line 2,510:
<lang perl>use strict;
use warnings;
use feature qw(<state say)>;
use List::Util 1.33 qw(pairmap);
use Algorithm::Permute qw(permute);
Line 2,549:
my $pred = $predicates{$+{pred}};
{ no warnings;
my $expr = '(' . sprintf($pred->[1], $id->($+{subj}),
my $expr = '(' . sprintf($pred->[01] eq 'person' ?, $id->($+{objsubj}) : $+{obj}). ')';,
$exprpred->[0] =eq '!person' .? $exprid->($+{obj}) if: $+{notobj}). ')';
my $expr = '(!' . sprintf($pred->[1],expr if $id->($+{subjnot}),;
push @expressions, $expr;
}
}
my @f = 1..$i;
eval 'no warnings "numeric";
permute {
say join(", ", pairmap { "$f[$b] $a" } %ids)