sub get_unique_filename { my $name = shift; $name =~ s/(\.[^\.]+)$//; my $ext = $1 ? $1 : ''; my $tries = ''; my $max_tries = 100; while ( -e $name.$tries.$ext ) { $tries++; die "Could not make a unique file name $name\n" if $tries > $max_tries; } return $name.$tries.$ext; }