perl multiple.pl -o outputfile -x xmlfile -d disk1 disk2 disk3 -m memory1 memory2 memory3
####
my %switches = (
-x => ["xmlfile"],
-o => ["outputfile"],
-d => ["disk1", "disk2", "disk3"],
-m => ["memory1", "memory2", "memory3"]);
####
#!/usr/bin/perl
use strict;
use Getopt::Std;
my @XMLarray;
my @OUTarray;
my @LEFTOVERarray;
my $currentArray;
foreach my $file (@ARGV) {
if ($file eq "-x"){
$currentArray = \@XMLarray;
}
elsif ($file eq "-o"){
$currentArray = \@OUTarray;
}
elsif ($file =~ /-/){
unless ($file eq "-x" || $file eq "-o"){
push @LEFTOVERarray, $file;
$currentArray = \@LEFTOVERarray;
}
}
else{
push @$currentArray, $file;
}
}
if (@XMLarray > 1){
die "Only one xml file allowed";
}
print "\nXMLarray :\n";
foreach (@XMLarray){
print "$_\n";
}
print "\nOUTarray :\n";
foreach (@OUTarray){
print "$_\n";
}
print "\nLEFTOVERarray :\n";
foreach (@LEFTOVERarray){
print "$_\n";
}
print "\n";
my %switches = (
-x => @XMLarray,
-o => @OUTarray);
foreach (@LEFTOVERarray){
my $key;
my @array;
if ($_ =~ /-/){
print "FIRST IF : $_\n";
if ($key){
$switches{$key} = @array;
undef $key;
undef @array;
}
else{
$key = $_
}
}
else{
"SECOND IF : $_\n";
push @array, $_;
}
}#foreach (@LEFTOVERarray)
print %switches;
print "\n";