Réécrire du Basic en Perl

Fermé
tisba972 Messages postés 334 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 9 septembre 2011 - 27 août 2008 à 16:32
tisba972 Messages postés 334 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 9 septembre 2011 - 1 sept. 2008 à 19:39
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
28 août 2008 à 10:10
Salut,

affiche ton script pour voir
-1
tisba972 Messages postés 334 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 9 septembre 2011 44
1 sept. 2008 à 16:38
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
1 sept. 2008 à 19:09
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 334 Date d'inscription mardi 15 juillet 2008 Statut Membre Dernière intervention 9 septembre 2011 44
1 sept. 2008 à 19:39
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