#!/usr/bin/perl
#
# Dan Cross <net!gajendra!cross>
#
use Getopt::Std;

my (%opts, $F, $O);
$F = qw(\s+);
$O = ' ';
getopts('F:O:0', \%opts);
$F = $opts{'F'} if $opts{'F'};
$O = $opts{'O'} if $opts{'O'};
push(@ARGV, '-O') if $opts{'0'};

die "Usage: $0 [ -0 ] [ -F regexp ] [ -O fmt ] 'list' [file[s]]\n" unless @ARGV;
my @indices = map { $_ - 1 } split(/\||,|\s+/, $ARGV[0]);
shift @ARGV;

while (<>) {
	chomp;
	s/^$F//;
	s/$F$//;
	my @fields = split(/$F/);
	print join($O, @fields[@indices]), "\n";
}
