Bonjour,
J'ai un problème avec un script Perl, pourtant je n'ai fais que copier / coller a partir d'un cours de Perl
voici le programme en question :
et j'obtiens le message d'erreur suivant:
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 1 #!/usr/bin/perl -w 2 use strict; 3 4 5 6 sub Crible 7 { 8 my $myprem = 18; 9 my ($n)= @_; 10 my @mypremiers=(); 11 my @nombres = (2..$n); 12 while ( @nombres ) 13 { 14 $myprem = shift @nombres; 15 push @mypremiers, $myprem; 16 @nombres = grep {($_ % myprem) != 0} @nombres; 17 } 18 return @mypremiers; 19 } 20 21 my $p = 100; 22 23 my @z = Crible($p); 24 foreach my $i (@z) 25 { 26 print ("$i\n"); 27 }
Bareword "myprem" not allowed while "strict subs" in use at ./test.pl line 16.
Execution of ./test.pl aborted due to compilation errors.
si j'ai bien compris, il croit que la variable myprem est "nue", pourtant je l'ai déclaré en scalaire ($)
Merci pour votre aide
// désolé j'ai pas vu qu'il manquait un $ a la ligne 16![]()
Partager