#!/usr/bin/perl -w use strict; binmode STDOUT, ":utf8"; use FindBin; use lib ("$FindBin::Bin/../lib", "$FindBin::Bin/../extlib"); my %opts; use Getopt::Long; GetOptions("type=s", \my($type), "id=i", \my($id), "cols=s", \my($cols), "config=s", \my($cfg)); $type or die "usage: $0 --type= [--id=] [--cols=] [--config=]"; use MT; my $mt = MT->new(defined $cfg ? (Config => $cfg) : ()) or die MT->errstr; my $class = MT->model($type); die "Error loading '$type': $@" if $@; my $iter = $class->load_iter($id ? { id => $id } : ()) or die "Load failed: " . $class->errstr; $cols = $cols ? [ split /\s*,\s*/, $cols ] : $class->column_names; print join(':', @$cols), "\n"; while (my $obj = $iter->()) { print join(':', map defined $obj->column($_) ? $obj->column($_) : '', @$cols), "\n"; }