#Exploitation du fichier GeorgAmiran

use strict;
use warnings;

#table masis => arménien, sera remplie au lancement du script
#on y loge a priori les caractères dont on sous-entend la mise en œuvre
#il faut tout dire pour pouvoir détecter les manques lors de la mise au point
my %tab_masis  = (' ' , ' ', # le blanc est universel !
							 # tout le reste est pris !
				   ); 

sub tab_alim($$){ # 2 caractères
my( $g, $a ) = @_;

	$tab_masis{$a} = $g;
	return 0;
}#tab_alim

sub init_tab(){ #procédure sans argument

	open(MASIS, "<:utf8", "ArmMasis.txt");
	my $ligne = <MASIS>; # sauter la 1ère ligne
	
	my @tab = <MASIS>;
	my $txt = join('', @tab);
	
	my $er = '^(\p{Armenian})\s+(\p{ASCII})$'; # Masis utilise tout l'ASCII imprimable...
	$txt =~ s/$er/tab_alim($1, $2)/emg;
}#init_tab

sub tradCar($){ #caractère
my( $car ) = @_;
	if( exists($tab_masis{$car}) ){
		return $tab_masis{$car};
	}else{
		die("Inconnu : ".ord($car)." = $car\n");
	}
}#tradCar

sub tradChaine($){ # chaîne Amiran
my( $chn ) = @_;

	$chn =~ s/(.)/tradCar($1)/eg;
	return $chn;
}#tradChaine

init_tab();
binmode(STDOUT, ":utf8");
print tradChaine($ARGV[0]);