In Independent routines§
See primary documentation in context for sub prompt.
multi prompt() multi prompt($msg)
Prints $msg to $*OUT handle if $msg was provided, then gets a line of input from $*IN handle. By default, this is equivalent to printing $msg to STDOUT, reading a line from STDIN, removing the trailing new line, and returning the resultant string. As of Rakudo 2018.08, prompt will create allomorphs for numeric values, equivalent to calling val prompt.
my $name = prompt "What's your name? "; say "Hi, $name! Nice to meet you!"; my $age = prompt("Say your age (number)"); my Int $years = $age; my Str $age-badge = $age;
In the code above, $age will be duck-typed to the allomorph IntStr if it's entered correctly as a number.