$versija = "(C) karlo\@lanet.lv v.0.0.1. 2019.11.08";

print '-' x 60  . "\n";
print " Programma domaata CSS koda izkrāsošanai.\n";
print "   $versija\n";
print '-' x 60  . "\n";

### Licence ############################################
# 2019. karlo@lanet.lv                      CC-BY-SA   #
########################################################

# Daži mainīgie ########################################################

#pagaidu simboli
# /*
$pieziime_s = '↘';
# */
$pieziime_b = '↗';
# :
$pieliidzina = '⇐';
# =
$vienaads = '⇄';

#Iekrāsošanai izmantotās klases
$kraaso{pieziime} = 'rem';
$kraaso{stili} = 'styles';
$kraaso{paziime} = 'vars';
$kraaso{izskats} = 'vals';
$pirmsklases1 = '<span class';
$pirmsklases2 = '>';
$peecklases = '</span>';

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

# Komandrindas parametri
if (@ARGV != 2) {
	print '-' x 60  . "\n" .
		"Programmas lietošana:\n" .
		"perl $0 HTML_datne Izskaistinātā_HTML_datne\n" .
		'-' x 60 . "\n";
	exit;
}

$kuru_lasiit = $ARGV[0];
$kur_rakstiit = $ARGV[1];
print "Tiks ielasīts no $kuru_lasiit.\n";
print "Tiks ierakstts datnē $kur_rakstiit.\n\n";

if ( -e $kur_rakstiit ) {
	print " Fails $kur_rakstiit jau eksistē\n\n";
	exit;
}

open FAILS, $kuru_lasiit;

# Atver failu, kur ierakstiit
open(IZKRAASOTS, ">$kur_rakstiit") or die;
@teksts = <FAILS>;
close FAILS;

# Apvieno visu vienā mainīgajā
$viss_kods = join '', @teksts;

# Piezīmes
$viss_kods =~ s/\/\*/$pieziime_s/g;
$viss_kods =~ s/\*\//$pieziime_b/g;

#Iekrāso stilu definējumus
$viss_kods =~ s/([\w\-]+)(\s*):(\s*)([^\n;\{\}]+);/$pirmsklases1$vienaads$kraaso{paziime}$pirmsklases2$1$peecklases$2$pieliidzina$3$pirmsklases1$vienaads$kraaso{izskats}$pirmsklases2$4$peecklases\;/g;
$viss_kods =~ s/([^\{\}\n;]+)\{/$pirmsklases1$vienaads$kraaso{stili}$pirmsklases2$1$peecklases\{/g;

# Beigās atgriež vai aizstāj speciālos simbolus
$viss_kods =~ s/$pieziime_s/<div class=$kraaso{pieziime}>\/\*/g;
$viss_kods =~ s/$pieziime_b/\*\/<\/div>/g;
$viss_kods =~ s/$pieliidzina/:/g;
$viss_kods =~ s/$vienaads/=/g;

# Ieraksta rezultātu datnē 
print IZKRAASOTS $viss_kods;
close IZKRAASOTS;
