use Getopt::Long; use Pod::Usage; use YAML; my @config; while (@ARGV) { print join(', ',@ARGV) . "\n"; my %opt; shift if $ARGV[0] eq '-'; GetOptions( \%opt, 'C|channel=i', 'F|forever', 'H|hours=i', 'M|minutes=i', ) or pod2usage(2); push @config, \%opt; } print YAML::Dump(\@config); __END__ =head Synopsis >perl tvopt.pl -C 10 -F -- --channel 1 --hours 10 --minutes 20 -C, 10, -F, --, --channel, 1, --hours, 10, --minutes, 20 --channel, 1, --hours, 10, --minutes, 20 --- #YAML:1.0 - C: 10 F: 1 - C: 1 H: 10 M: 20 =cut