I figured that out and used printf to achieve the initial spacing. I also figured out how to accept the comma separated input, however I am having a small issue with this. When it renders the output on the screen, it is separating the numeric identifier from the data. So, what I get is:
Enter Selection(s): 1,3 #this is what the user will input and the results output below
1. 10.10.10.11
3
.10.10.10.13
What I expect to see is this
1. 10.10.10.11
3. 10.10.10.13
I found that adding a trailing comma to the input 1,3, resolved the issue, but created another warning
Argument "\n" isn't numeric in subtraction (-)
# Import cluster hosts list and print sorted output print color('bold white') . "The following hosts were found: \n\n" . c +olor('reset'); use File::Slurp; my @chosts = read_file($chosts_file); my @vdbhosts = sort @chosts; foreach my $i (0..$#vdbhosts ) { printf '%-2s',""; print $i + 1 . ". $vdbhosts[$i]"; } print "\n"; ASSIGN_VDB_HOSTS: # Choose the hosts from the list of above print "Please select the hosts from the list above separated by commas + (1,2,3...)\n"; print "\n"; print "Enter selection(s): "; my $vdbhostinput = (<>); print "\n"; my @vdbvalues = split(',', $vdbhostinput); foreach my $i (@vdbvalues){ print " " . $i . ". " . $vdbhosts[$i - 1]; } print "\n";
In reply to Re^4: Adding a numeric key to list items and creating a user selection list
by stevek1974
in thread Adding a numeric key to list items and creating a user selection list
by stevek1974
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |