Bonjour,

j'utilise la commande binmode dans un bout de code que j'ai trouvé qui sert à saisir un password en caché :

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
	$| = 1;	# unbuffer stdout
	my $pwd = '';
	if (0) {
 
		print "Password: ";
		ReadMode ('noecho');
		$pwd = ReadLine ();
		chomp $pwd;
		ReadMode ('restore');
 
	} else {
 
		binmode STDIN;
		print "Password: ";
		ReadMode ('cbreak');
		while (defined (my $ch = ReadKey ())) {
 
			last if $ch eq "\x0a" or $ch eq "\x0d";
			if ($ch eq "\x08") {	# backspace
				print "\b \b" if $pwd;		# back up 1
				chop $pwd;
				next;
			}
			if ($ch eq "\x15") {	# ^U
				print "\b \b" x length $pwd;	# back 1 for each char
				$pwd = '';
				next;
			}
			$pwd .= $ch;
			print '*';
		}
		ReadMode ('restore');
	}
Donc mon problème est le suivant : comment faire l'inverse de binmode pour pouvoir réutiliser la commande <STDIN> en ascii ?

Merci d'avance pour votre aide...