Bonjour,
Je débute en Perl et souhaite votre aide.
Je dois convertir la valeur d'une variable qui est sur 4 chiffres en se basant la position du caractère:
Position 1 du caractère:
- 0=@
- 1=A
- 2=B
etc jusqu'à 9
Position 2 du caractère1:
- 0=[
- 1=Z
- 2=Y
etc jusqu'à 9
Position 3 du caractère:
- 0=T
- 1=U
- 2=V
etc jusqu'à 9
Position 4 du caractère:
- 0=U
- 1=T
- 2=W
etc jusqu'à 9
Exemple: Si valeur = 0120 le résultat devra être: @ZVU
J'ai donc écrit le programme suivant mais ca ne marche pas....
Le résultat doit être dans la variable "Endcodedlockjob", la valeur source étant dans "$LockJob"
my $EncodedLockJob=0;
my LockJob0="@[TU";
my LockJob1="AZUT";
my LockJob2="BYVW";
my LockJob3="CXWV";
my LockJob4="D_PQ";
my LockJob5="E^QP";
my LockJob6="F]RS"
my LockJob7="G\SR";
my LockJob8="HS\]";
my LockJob9="IR]\";
my $LockJobLength=4;
my LockJobCharIndex;
my LockJobChar;
my LockJobN;
for ($LockJobCharIndex = 0; $LockJobCharIndex < $LockJobLength; $i++) {
$LockJobChar = substr($LockJob, LockJobCharIndex, 1);
if ($LockJobChar == "0")
{ $LockJobN = $LockJob0; }
elsif ($LockJobChar == "1")
{ $LockJobN = $LockJob1; }
elsif ($LockJobChar == "2")
{ $LockJobN = $LockJob2; }
else ($LockJobChar == "3")
{ $LockJobN = $LockJob3; }
$EncodedLockJob = $EncodedLockJob + substr($LockJobN, $LockJobCharIndex, 1);
D'avance merci
Partager