Where is the 'my' in those variable usages?
As BrowserUk wrote, I don't see any missing. While we're here I'll take a chance to remind that differently from Perl 5, Perl 6 has strict and warnings turned on by default except in particular situations, e.g. in oneliners, where it's most often better otherwise.
Why did they switch from 'print' to 'say'? It's shorter?
Err, well, yes: easy things should be easy. And Perl has been somehow missing a writeln/println statement for quite a long time. But as also pointed out by BrowserUk, they did not "switch": you will have both print and say. The interesting thing to note here is that iirc in conjunction with the use of the latter autochomp actions are often taken, although it's not entirely clear to me how and when (I know the answer is out there I'm just too lazy ATM) - but it seems that $_ is not chomped by default:
pugs> say .chars for <foo bar baz>;
3
3
3
undef
pugs> say .chars for =<>;
foo
4
bar
4
baz
4
|