Bonjour,

Je vous explique donc mon problème je souhaites donc mettre en place un script PERL pour configurer en quelques clic donc mon PROXY Squid .

Je dois donc définir des ACL ( Acces Control List ) qui s'écrivent comme ceci a la fin d'un fichier :
acl allowed_clients src 1xx.1xx.0.xxx /255.255.255.0
http_acces allow allowed_clients
http_acess deny allowed_clients
Mon soucis étant que j'essaie donc de faire une boucle qui vérifie bien que l'utilisateur tape une adresse ip et non des caractère.
Puis qu'il saisie le masque. Mais je possède des erreurs de compilation car il considère le / comme un opéraeur ( 192.168.1.31/255.255.255.0 )


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
31
32
33
34
35
36
print "#  ---- Configuration des différentes ACL (Acces Control List)---- #\n";
						if ($choix2 == 1) {
						### [Saisie des acl] ###
							system('clear');				
							print "#                                                 #\n";
							print "#                                                 #\n";
							print "#                                                 #\n";
							print "{Saisissez l'adresse IP afin de configurer l'ACL du client }\n";
							print "{                  que vous souhaitez configurer           }\n";
							print "#                                                 #\n";
							print "#                                                 #\n";
							print "#                                                 #\n";
							#$acl == 0 ;
							while ($acl ==~ /^([0-9]{1,3}\.)}3}\.([0-9]{1,3})$ /) {
								print "Choix (Adresse IP de la forme 1xx.xxx.xxx.xxx--> ";
								$acl = <STDIN>;
								chomp($acl);
								print "#                                                 #\n";
								print "#                                                 #\n";
								print "Choix (Masque de la forme /1xx.xxx.xxx.xxx--> ";
								print "Choix (PENSEZ A METTRE LE / SANS ESPACE AVANT DE TAPER VOTRE MASQUE ";
								$mask = <STDIN>;
								chomp($mask);
									push (@tab,'###                                    ###');
									push (@tab,'###                                    ###');
									push (@tab, "acl allowed clients src $acl\n");
									push (@tab, "http_acces allow allowed_clients\n");
									push (@tab, "http_acces deny allowed_clients\n");
									push (@tab,'###                                    ###');
									push (@tab,'###                                    ###');
 
								open(main::F, "> $fic") or die('        ! Ecriture impossible dans le fichier désigné !');
					        		print F $_ foreach(@tab);
								close(main::F);
							}						
						}
Si vous pouvez me venir en aide sa serais franchement sympatoche
Oni'