#! /usr/bin/perl

# /bin/sh : NEW=`ls | sed s/\ /_/g | sed s/_-_/_/g `

sub proceed{
	my $dir=shift;
	my $prefix=shift;
	opendir(DIRHANDLE,$dir) || die "Cannot open dir $dir";
	while ($name=readdir(DIRHANDLE)){
        if($name =~m/^\./){
            next;
        }
        my $ustring = "\x{b4}";
		my $new = $name;
        $new =~ s/ /_/g;
        $new =~ s/'/_/g;
        $new =~ s/[\[\]]/_/g;
        $new =~ s/$ustring/_/g;
        $new =~ s/\._/_/g;
        $new =~ s/_+\./\./g;
        $new =~ s/[_-](-*_*)+/_/g;
        $new =~ s/\\/-/g;
        $new =~ s/\\/-/g;
        if(defined($prefix)){
            $new =~ s/^$prefix//g;
        }
        if ($name ne $new) {
            rename($name, $new) || die "Unable to rename $name in $new.";
        }
    }
	closedir(DIRHANDLE);
}

proceed(".", shift);