sub
YesPrompt {
local
(
$prompt
,
$default
) =
@_
;
local
(
*TERMIN
,
*TERMOUT
);
local
(
$y
,
$n
,
$rc
);
open
(TERMOUT,
">/dev/tty"
);
open
(TERMIN,
"</dev/tty"
);
$y
=
$default
eq
'y'
?
"Y"
:
"y"
;
$n
=
$default
eq
'n'
?
"N"
:
"n"
;
while
(1) {
print
TERMOUT
$prompt
.
" ($y/$n): "
;
$response
= <TERMIN>;
$response
=~ s|\n$||;
if
(
$response
eq
'y'
||
$response
eq
'Y'
|| (
$response
eq
''
&&
$default
eq
'y'
)) {
$rc
= 1;
last
;
}
elsif
(
$response
eq
'n'
||
$response
eq
'N'
|| (
$response
eq
''
&&
$default
eq
'n'
)) {
$rc
= 0;
last
;
}
else
{
print
TERMOUT
"**WRONG INPUT, ONLY [yYnN<cr>] ALLOWED!**\n"
;
}
}
close
(TERMOUT);
close
(TERMIN);
return
$rc
;
}
1;