my %option = (); my %Songs =(); my @DirArray; my $DirIndex==0; my $CurrentDir; my $Artist; my $Index=1; getopts("d:", \%option); sub produce_array { if (-d $_) { $CurrentDir=$_; $DirArray[$DirIndex]=$_; $DirIndex++; }; if (-f $_) { push (@{$Songs{$CurrentDir}},$_); }; } find (\&produce_array, $option{d});