#!/usr/local/bin/perl # # Sun Dec 19 19:22:40 2010/hakank@bonetmail.com# # # Convert a matrix representation to predicates. # # $|=1; use strict; my $pred = shift @ARGV || "pred"; my $row = 1; while (<>) { chomp; # remove leading space etc s/^[\s%#]+//g; next if /^\s*$/; my @split = split /[ ,]+/; my $len = scalar @split; for (my $col = 0; $col < $len; $col++) { my $col1 = $col+1; my $val = $split[$col]; next if !$val or $val eq "_"; print "$pred($row, $col1, $split[$col]).\n"; } $row++; }