Contexto escalar vs lista em Perl

Eu achei um exemplo em um livro da O'Reilly um pouco estranho:

@backwards = reverse qw/ yabba dabba doo /;
print "list context: @backwards\n";
$backward = reverse qw/ yabba dabba doo /;
print "scalar1 context: $backward\n";
$notbackward = qw/ yabba dabba doo /;
print "scalar2 context: $notbackward\n";
print "print context: ",reverse qw/ yabba dabba doo /;
print "\n";

A saída é:

list context: doo dabba yabba
scalar1 context: oodabbadabbay
scalar2 context: doo
print context: doodabbayabba

O que eu não entendo é oscalar1 contexto:

O livro diz 'algo inverso' fornece um contexto de lista, então eu achoqw/ yabba dabba doo / é visto como uma lista ereverse qw/ yabba dabba doo / as ('doo', 'dabba', 'yabba').

Então vem o$backward = something o que implica que algo é escalar, então eu esperava o resultado 'doo dabba yabba', mas é diferente: 'oodabbadabbay'.

Eu pensei que o motivo era porque não se pode definir uma lista diretamente para um escalar. Então eu fiz oscalar2 teste: somente o item mais recente da lista é impresso. Por quê? Por que não no teste scalar1?

Como funcionam os resultados dos testes escalares?

questionAnswers(4)

yourAnswerToTheQuestion