Is there something I can't do without the '@'-sigil when working with user-defined variables?
#!perl6
use v6;
my $list = <a b c d e f>;
my @list = <a b c d e f>;
$list.list.perl.say;
@list.perl.say;
$list[2..4].say;
@list[2..4].say;
$list.elems.say;
@list.elems.say;
$list.end.say;
@list.end.say;
say 'OK' if $list ~~ /^c$/;
say 'OK' if @list ~~ /^c$/;
Yes, variadic parameters require the @ sigil:
Though that's cheating your question, because @a is now a formal parameter, not just a variable. For actual variables only, scalars can do everything you need, though often with more effort than if you use the appropriate sigil.