my %oldfiles;
foreach $file (@FileArray){
if (length($file)>13){
$shortenedname = substr($file, 0, 8);
$shortenedname = $shortenedname.".mp3";
} else {$shortenedname = $file;}
if ( $oldfiles{$shortenedname}++ ) {
# short name already exist, try again
...
####
if ( $oldfiles{$shortenedname}++ ) {
my $base = substr($file, 0, 6);
my $test_shortenedname = 'not found';
for my $i ( 1 .. 9, a .. z ) {
$test_shortenedname = $base . '~' . $i;
unless $oldfiles{$test_shortenedname};
}
next if ($test_shortenedname eq 'not found');
# rather than die, just skip the bad/unshortenable name
$shortenedname = $test_shortenedname
}
push @short_files, $shortenedname;
}
return @short_files;
##
##
if ($file =~ /\.mp3$/i ){
push(@mp3files, $file);
}