Réécrire du Basic en Perl

tisba972 Messages postés 337 Date d'inscription   Statut Membre Dernière intervention   -  
tisba972 Messages postés 337 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai pour mission de reprendre un script en Basic de 1993 et de le transposer en Perl ...
Cela est-il largement envisageable ? Ou bien vais-je au devant de grosse galère?
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

affiche ton script pour voir
-1
tisba972 Messages postés 337 Date d'inscription   Statut Membre Dernière intervention   44
 
Le script est assez long...
c'est plusieurs fichiers :
un avec des fonctions que je retranscris assez facilement jusque là
et un autre avec le programme principal ou je sèche beaucoup plus :
je te mets une partie du code principal :

CLS
	GOSUB AnaLyseLigneCommande
	'''NumeroBouee$ = "5832"
	bavard1 = 0
	lent = 0
	'''archiv = UCASE$(LTRIM$(RTRIM$(COMMAND$))) = "ARC"
	'''Nomfic$ = "PRV.TMP"
	GOSUB Init
	Nf$ = NumeroBouee$ + ".INF"
	IF (NOT (ExisteFichier(Nf$))) THEN
	     TypeAbort = 3
	     GOSUB AbortProgramme
	END IF
	LireDonnees "WAV.DAT", Nf$, TI, LB, INfd, archiv '"WAV.DAT" modifi‚ !y2k
	LireTableauAffic "RESULT", TR '"RESULT" modifi‚ !y2k
	jolicadre Nbouee&, 2, 27
	IF (archiv) THEN
	     NomficDon$ = "archiv4.dat"
	     Nomficarc$ = "W" + NumeroBouee$ + " .ARC"
	     NomFicASCII$ = "W" + NumeroBouee$ + ".DON"
	     ArchivesPRVArgos NomficDon$, Nomficarc$, NomFicASCII$, TR, INfd
	     CLS
	     jolicadre Nbouee&, 2, 27
	     VoirFicArchives Nbouee&, TI, TR, INfd
	     ListBoxresult LB, TR, "PRVARC.IMP", INfd, Nbouee&, archiv
	  ELSE
	    DecPRVWave Nomfic$, nexp, Nbouee&, TI, TR, INfd, 0
	    ListBoxresult LB, TR, "PRVTMP.IMP", INfd, Nbouee&, archiv
	END IF
	COLOR 15, 0
	CLS
     END


merci encore
-1
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Peut être qu'on peux penser autrement

Tu me dit ce que fait ton script et je te ferai un code en Perl à ma façon ;-)
Je pense que ça sera plus simple.

Bref, tu me dis ce que tu as en entrée et ce que tu veux obtenir. Pour le traitement je m'en occuperai ;-)
-1
tisba972 Messages postés 337 Date d'inscription   Statut Membre Dernière intervention   44
 
te dire ce que fait le script c'est assez long...
en fait le but est de decrypter des donnees ARGOS sur des bouees en mer
pour cela on utilise une connexion Telnet :
j'ai déja créé la partie telent en perl :

use Net::Telnet() ;

$olog = "o.log" ;
$ilog = "i.log" ;

$machine = "netdis.cls.fr" ;
$user = "mandar" ;
$pwd = "houlograf" ;
$p1 = "/.*ername.*/" ;
$p2 = "/.*sword.*/" ;
$cmd = "prv,1450,ds,240" ;
$prompt = '/^\/.*/' ;
$prompt = '/\//' ;

$tel = new Net::Telnet (Prompt => $prompt);
$tel->output_log($olog) ;
$tel->input_log($ilog) ;

$tel->open(Host => $machine) ;
$ok = $tel->waitfor($p1) ;
$tel->print($user) ;
$tel->waitfor($p2) ;
$tel->print($pwd) ;

$tel->waitfor("/ARGOS READY.*/") ;
$tel->waitfor($prompt) ;
@res = $tel->cmd($cmd) ;
$tel->waitfor("/\/.*/") ;
$tel->cmd("logout") ;

print "Et attention...\n" ;
foreach $lig (@res) {
       print $lig ;
      #et le traitement de mes données...........................
}

après il ya des fonction dont j'identifie facilement la structure...mais d'autre dont je ne vois pas du tout le but.
je n'ai jamais utilisé le script en basic ...On me la refilé et demander de le transcrire sans meme que je ne le connaisse. donc je te dis ce que j'ai compris du script ...
après la connexion telnet , on reçois plusieur fichiers qu'il faut décrypté...
il ya des conversions a faire sur les jour ( Jour Julien) et recupéré les noms des bouees avec les donnees correspondantes.

le script principal fait 2442 lignes ...
je n'oserai pas t'encombrer avec ça ;)

en tout cas merci pour ton implication
-1