Bonjour,
Pour l'école on doit programmer une sorte de carnet d'adresses. L'utilisateur peut ajouter, supprimer, changer, des adresses. Les adresses sont stockées dans un fichier. Pour lister les adresses, j'ai écrit une subroutine listAddressBook. La voila:
Sous Windows Vista, avec ActivePerl, ceci marche parfaitement. Mais quand je l'exécute sous Ubuntu, on dirait qu'il oublie des mots. L'output n'est pas du tout ce qu'il doit être. Comment ça se fait? Je croyais que comme Perl est un langage interprété, qu'il est portable...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 sub listAddressBook() { open (ADDRESS_BOOK, "address_book.dat"); my (@file); @file = <ADDRESS_BOOK>; close ADDRESS_BOOK; chomp @file; my ($i); $i = 0; while ($i < scalar (@file)) { print "$file[$i]: \t $file[$i+1] \n"; print "\t$file[$i+3] $file[$i+2], $file[$i+4], $file[$i+5], $file[$i+6]\n"; $i += NUMBER_LINES_PER_ADDRESS; # aantal rijen omhoog } }
Merci d'avance,
Yoran
Partager