in reply to Re: Creating Hashes from Switches
in thread Creating Hashes from Switches

Thanks Dave,
but how would this be implemented if I didn't know the switches until runtime?

UPDATE
Well now I feel stupid. It seems my code was working I just forgot to print the results. Duh!! Sorry

j o h n i r l .

 Sum day soon I'Il lern how 2 spelI (nad tYpe)

Replies are listed 'Best First'.
Re: Re: Re: Creating Hashes from Switches
by davorg (Chancellor) on Sep 19, 2002 at 11:33 UTC

    If you know that the first two arguments you'll get are the XML file and the output file then you can do something like this:

    #!/usr/bin/perl -w use strict; use Getopt::Std; use Data::Dumper; my %switches; %switches = splice(@ARGV, 0, 4); # parse the XML file and work out what other arguments # you're going to be passed. Use that info to build $fmt my $fmt = 'd:m:'; getopts($fmt, \%switches); foreach (keys %switches) { $switches{$_} = [ split /\s+/, $switches{$_} ]; } print Dumper \%switches;

    It's a bit fragile tho' as it assumes there will be spaces between the first two options and their arguments.

    --
    <http://www.dave.org.uk>

    "The first rule of Perl club is you do not talk about Perl club."
    -- Chip Salzenberg