I haven't used Term::Prompt, but I did throw this little demo thing together for a former coworker many moons ago. It was written for use on a Unix but should run on WIN (using a WIN cmd obviously) if Term::ReadKey and Term::ReadLine are installed. Note this was written many moons ago, thus no "-w" or "use strict". Hope this might be of some use to you.
#!/usr/bin/perl
use Term::ReadLine;
use Term::ReadKey;
$in = new Term::ReadLine 'LABEL';
$inval = "";
$prompt = " Enter a Unix command. Enter 'quit' to bailout.\n\n -> ";
while ( $inval eq "" ) {
$inval = $in->readline($prompt);
}
if ($inval ne "quit") { #Do this
print "You entered: $inval\n";
system("$inval");
} else {
print "You said to quit.\n\nBye!\n";
$quit = confirm("quit");
if ($quit eq "n") {
print "Decided not to quit I see.\n";
} else {
print "OK, OK, I'm quitting...\n";
}
}
pressanykey();
##################################################################
##################################################################
# SUB: Global Sub-Routines #######################################
##################################################################
##################################################################
#####################
# SUB: Clear Screen #
#####################
sub clear {
system("clear");
}
######################
# SUB: Press Any Key #
######################
sub pressanykey {
print "\n Press any key to continue...\n";
ReadMode ('cbreak');
while (1) {
$key = ReadKey(0);
last;
}
ReadMode 'restore';
}
#####################
# SUB: Confirmation #
#####################
sub confirm {
my($action, $key) = @_;
clear();
print "\n Are you sure you want to $action? (y/n)";
ReadMode ('cbreak');
while (1) {
$key = lc(ReadKey(0));
last unless defined $key;
last if (($key eq "y") || ($key eq "n" ));
}
ReadMode 'restore';
clear();
return($key);
}
-THRAK
www.polarlava.com
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|