[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

tv_grab_au 0.6 patch (with sub askQuestion added on)



 
    
tv_grab_au 0.6 patch (with sub askQuestion added on)
----------------------------------------------------

sub askQuestion {
    my ($prompt, $default, @options) = @_;

    printf "\n";
    printf "$prompt [default: $default]\n\n"; 

    my $counter = 1;

    foreach my $value (@options) {
	if ($counter < 10) {
	    printf " ";
	}
	printf "$counter\. $value\n";

	$counter += 1;
    }

    printf "\n";

    open (TTYIN, "/dev/tty");

    $counter -= 1;
    printf "Please choose from number 1 - $counter: ";

    my $answer_no = <TTYIN>;
    my $answer_value;

    close (TTYIN);

    chomp ($answer_no);

    if ($answer_no) {
	$answer_value = @options[$answer_no - 1];
    }
    else {
	$answer_value = $default;
    }

    printf "You choice is: $answer_value\n\n";
    return $answer_value;
}



Call the function in this way:

my %STATES = (
    'SA - Adelaide' => 'Adelaide', 
    'Queensland - Brisbane' => 'Brisbane',
    'ACT - Canberra' => 'Canberra', 
    'NT - Darwin' => 'Darwin',
    'Tasmania - Hobart' => 'Hobart', 
    'Victoria - Macquarie' => 'Macquarie',
    'NSW - Regional' => 'NSWReg', 
    'NT - Regional' => 'NTReg',
    'WA - Perth' => 'Perth', 
    'Queensland - Regional' => 'QLDReg',
    'SA - Regional' => 'SAReg', 
    'NSW - Sydney' => 'Sydney',
    'Tasmania - Regional' => 'TASReg', 
    'Victoria - Regional' => 'VICReg',
    'WA - Regional' => 'WAReg'
);

my $default_st = "NT - Darwin";

my $cn = askQuestion ('Grab listings for which region?', $default_st, sort keys %STATES);

my $c = $STATES{$cn}; die if not defined $c;


Output looks like:

Grab listings for which region? [default: NT - Darwin]

 1. ACT - Canberra
 2. NSW - Regional
 3. NSW - Sydney
 4. NT - Darwin
 5. NT - Regional
 6. Queensland - Brisbane
 7. Queensland - Regional
 8. SA - Adelaide
 9. SA - Regional
10. Tasmania - Hobart
11. Tasmania - Regional
12. Victoria - Macquarie
13. Victoria - Regional
14. WA - Perth
15. WA - Regional

Please choose from number 1 - 15: 12
You choice is: Victoria - Macquarie

Google