The star in the signature states that @list is a slurpy (or variadic) parameter, i.e. that @list will slurp up all remaining arguments provided to the subroutine.
See: https://docs.perl6.org/type/Signature#index-entry-slurpy_argument Le dim. 30 sept. 2018 à 11:32, ToddAndMargo <toddandma...@zoho.com> a écrit : > On 9/26/18 7:27 PM, Brandon Allbery wrote: > > And again: this is only because you know perl 5. People are not born > > knowing perl 5; to someone who doesn't know it, perldoc raises the same > > kinds of questions you have been asking, and the answers have to be > > found in perlsyn or perldata, etc. Which is exactly what you have been > > complaining about with respect to perl 6 doing the same kind of thing. > > Geez Louise Bradley! The above is a really bad argument! > > "perldocs -f xxx" is a bazillion times easier to understand > than Perl 6's manual, regardless if you know Perl 5 or not. > > And, by the way, I wonder just how may are coming to Perl 6 > without ANY Perl 5 experience? > > In every instance I can look up, perldocs puts Perl 6's > documentation to shame. > > A simple comparison: which one leaves you knowing how to use > the function and which one leaves you wondering "What the h***???" > > $ perldoc -f join > join EXPR,LIST > Joins the separate strings of LIST into a single string with > fields separated by the value of EXPR, and returns that new > string. Example: > > my $rec = join(':', > $login,$passwd,$uid,$gid,$gcos,$home,$shell); > > Beware that unlike "split", "join" doesn't take a pattern > as its first argument. Compare "split". > > > > https://docs.perl6.org/routine/join#(List)_routine_join > > (List) routine join > > Defined as: > > sub join($separator, *@list --> Str:D) > method join(List:D: $separator --> Str:D) > > Treats the elements of the list as strings, interleaves > them with $separator and concatenates everything into a > single string. > > Example: > > join ', ', <a b c>; # RESULT: «a, b, c» > > Note that the method form does not flatten sublists: > > say (1, <a b c>).join('|'); # OUTPUT: «1|a b c» > > > Oh and what the &*@% is a "*@list"? And why does the sub have one > and the method does not? They are suppose to be identical. > > -T >