Hacker News new | ask | show | jobs
by raiph 3817 days ago
Your comment actually made me scroll back to the top to double check this thread was actually about Perl 6, not Perl 5!

Part of the point of Perl 6 was to address problems in the language and Larry (and/or those who wrote the original Perl 6 RFCs) considered several of the things you named to be problems.

> wide range of special operators, variables and default arguments

In Perl 6:

* The only special op I'm aware of is assignment.

* The only variables considered special are the "it" and "them" variables ($_, @_ and %_), the current match object ($/), and the current exception list ($!).

* There are still predefined variables, such as a DISTRO variable which contains an object representing the OS etc. on which Perl 6 is running, but I haven't found those problematic.

* Almost all use of default arguments in built-ins has been eliminated. The main exception I'm aware of is that subs and ops related to matching still default to operating on "it".

The Perl 5 <> op is gone.

> Or, perhaps the syntax for dealing with elements in a somewhat deep data structure, like: push(@{$TV{$family}{kids}},"anotherkid");

This would be something like this in Perl 6:

  my %TV;
  my $family = 'foo';
  push %TV{$family}<kids>, 'another'; 
> Sometimes, people are just griping about regex syntax though, which seems disingenuous, since many languages use the exact same pcre expressions.

This is talked of in Perl 6 circles as being ironic because regex syntax has been thoroughly cleaned up (and massively powered up too) in Perl 6.[1]

> I like perl, but if it's been a while, there's definitely some back and forth with books to decipher something I wrote some time ago.

One of the many downsides to Perl 6, imo, is that this back-to-the-book-oh-yeah aspect is still there -- but there's only incomplete doc and no books yet written by the likes of Larry.

[1] See, for example, https://github.com/moritz/json/blob/master/lib/JSON/Tiny/Gra...

2 comments

>>Your comment actually made me scroll back to >>...check this thread was.. about Perl 6, not Perl 5!

Well, the context of the parent, and it's parent, was not Perl 6.

I'm a Perl newbie. What can you advise me to read (+exercises) to learn Perl 6?
IMHO Project Euler is a good start. There are solutions published in Perl6 to a large number of them.