find_1 0 Newbie Poster
    sub runDir($$);
    sub runDir($$) {
        my $prefix = shift @_;

        my $dir = shift @_;
        opendir(DIR, $dir) or die $!;
        my @entries = readdir(DIR);
        close(DIR);
        foreach my $file (@entries) {
            next if ($file =~ /^\.+$/);
            if ( -d $dir . '/' . $file) {
                runDir($prefix . $file .'_', $dir . '/' . $file);
            } elsif ( ( -f $dir . '/' . $file ) && ( $file =~ /\.config$/ ) && ($file !~ /^$prefix/)) {
                my $suffix = $file;
                $suffix=~s{\A[^.]*}{}xms;

                rename $dir . '/' . $file, $dir . '/' . $prefix . $suffix ;
            }
        }
    }
    runDir('',$output_dir);</pre>

obtained output:

<pre>-- Muska
    |-- Muska_.config
    |-- Muska_.html
    `-- Muska_Digital
        |-- Digital_Verification
        |   |-- Muska_Muska_Digital_Digital_Verification_.config
        |   |-- Muska_Muska_Digital_Digital_Verification_.html
        |   `-- rev1
        |       |-- Muska_Muska_Digital_Digital_Verification_rev1_.config
        |       `-- Muska_Muska_Digital_Digital_Verification_rev1_.html
        |-- Muska_Muska_Digital_.config
        `-- Muska_Muska_Digital_.html
</pre>

Expected_output:

<pre>-- Muska
    |-- Muska_.config
    |-- Muska_.html
    `-- Muska_Digital
        |-- Digital_Verification
        |   |--Digital_Verification_.config
        |   |-- Digital_Verification_.html
        |   `-- rev1
        |       |-- Muska_Muska_Digital_Digital_Verification_rev1_.config
        |       `-- Muska_Muska_Digital_Digital_Verification_rev1_.html
        |-- Muska_Muska_Digital_.config
        `-- Muska_Muska_Digital_.html
</pre> 
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.