CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Perl double $

linux-facile
linux-facile
Niveau 3
26 avril 2013 à 14:18:01

Bonjour,

Quequ'un peut m'expliquer ce morceau de code:

while($ligne = <ENTREE>){
@tbl1=split /\s+/, $ligne;

if ($ligne=~/ENERGY/){
$ID=$tbl1[5];
push(@$ID, NC);
}

else {
push(@$ID, $tbl1[5]);
}

}
...
$case=$tbl1[5]+1;
$count2=0;
foreach ($tbl1[5]+1..$BPider-1){
$count=$count+$$ID[$case];
$case++;
$count2++;
}

En fait je dois réimplémenter un script perl en C, et ce double dollar je ne capte pas. =/

Merci d'avance.

linux-facile
linux-facile
Niveau 3
26 avril 2013 à 16:21:43

Merci.

dnob700
dnob700
Niveau 10
26 avril 2013 à 22:34:04

Plus précisément $$var déréférence le pointeur qui est dans $var (comme *var en C). Sauf que si $var contient une chaîne (et non pas un pointeur vers un scalaire) alors ça lis le contenu de la variable dont le nom est la chaîne en question (c'est ce qui s'appelle une référence symbolique).

Un programme lisible note généralement ${...} le fait de déréférencer un pointeur vers un scalaire (et non pas seulement $. Donc ${$var} au lieu de $$var. Et un programme perl "strict" (c'est-à-dire un tant soit peu correctement écris) n'utilise jamais de référence symbolique, mais seulement des vrais références. Par exemple l'exemple de Hors-Charte devient:
$var = 3;
$banane = \$var;
print ${$var};

(bon, pour que ce soit vraiment propre il faudrait déclarer les variables).

Bref ton programme est horrible (c'est le genre de programmes qui contribuent à donner à Perl sa réputation de langage illisible), et pas que pour ces questions de style de pointeur, je ne sais pas d'où tu le sort, mais le lire peut être mauvais pour ta santé...

micil
micil
Niveau 9
26 avril 2013 à 22:47:13

c'est du perl ca ? chaud cette langage de merde, c'est bien moche. en plus ca sert a rien non ? y a python et java si tu veux du haut niveau

godrik
godrik
Niveau 30
26 avril 2013 à 23:23:49

les gens aimaient perl dans le passe. Maintenant la mode a changer et les gens aiment python. Dans le futur, la mode changera et les gens aimeront autre chose.

Dans le fond, ces technologies sont toute equivalente et l'une n'est pas plus propre ou utile que l'autre. Mais les gens aiment bien reinventer la roue, donc on change de temps en temps.

Dbzgokussj2
Dbzgokussj2
Niveau 10
27 avril 2013 à 12:28:18

Le script que tu utilises pour citer les messages et y répondre est tout simplement HORRIBLE hors-charte...

linux-facile
linux-facile
Niveau 3
27 avril 2013 à 15:51:01

Merci à tous pour vos interventions,

c'est un script écrit par un chercheur en biologie et il a très peu de notion en programmation donc soyez indulgent.

Encore merci.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment