$name = ..... # whatever my $i= ''; --$i while (-e $name . $i); $name.= $i; #### my $check= $name; $check=~ s#(\.[^./]*)$##; my $ext= $1 || ''; my $i= ''; --$i while (-e $check . $i . $ext); $name= $check . $i . $ext;