#!/usr/bin/perl
# Переименование файлов карт для qpegps

#use File::Spec::Functions;
#use File::Basename;
#use File::Path;
use Cwd;
#use utf8;

########################################

sub renamemap ($$$) # Разделить
{
    my ($path, $oldpref, $newpref) = @_;
    my @namelist; # Список имен обрабатываемых файлов
    my ($proj, $fname, $res, $xs, $ys, $lon1, $lat1, $x1, $y1, $lon2, $lat2, $x2, $y2, $newtxt);

    if ( -f "$path/maps.txt" ) {
	open(TXT, "$path/maps.txt" );
	while (<TXT>) {
	    chomp;
	    s/^\s+//;
	    s/\s/ /g;
	    if ($_ and not m/^\#/) {
		($proj, $fname, $res, $xs, $ys, $lon1, $lat1, $x1, $y1, $lon2, $lat2, $x2, $y2) = split(' ', $_);
		$nfname = $fname;
		$nfname =~ s/^$oldpref//i;
		$nfname = $newpref.$nfname;
		rename ("$path/$fname", "$path/$nfname");
		$newtxt .= "$proj $nfname $res $xs $ys $lon1 $lat1 $x1 $y1 $lon2 $lat2 $x2 $y2\n";
	    } else {$newtxt .= "$_\n"};
	};
	close(TXT);
	open(TXT, ">"."$path/maps.txt" );
	print TXT $newtxt;
	close(TXT);
	
    } else { print("В указанном каталоге нет файла maps.txt.\n") };
};


# Начало
($path, $newpref, $oldpref) = @ARGV;

    if ( -f "$path/maps.txt" and $newpref ) {
	if (not $oldpref) {$oldpref = ''};
	renamemap($path, $oldpref, $newpref);
	print "Finished\n";
	exit;
    } else { print "Usage: path new_prefix [old_prefix]\n"};
