Edit: I was being an asshole Perl has a decent object system out of the box and Moose for those times when you want type constraints.
package MyClass;
use base 'Parent';
sub new { my $class = shift; bless { prop1 => undef }, $class; }
package main;
my $obj = new MyClass;
> etc
Lexical scoping, anonymous coderefs that can be passed as data, modifiable syntax, reference semantics, and the regex engine I see other languages comparing theirs too.
sub foo {
my ($first,@rest) = @_;
print $first . "\n";
print @rest;
}
foo (1,2,3);
1
23
*
It's probably my Python deficiency. My claim that Python's syntax was going to be uglier is probably wrong, but I think the claim that Perl's is appreciably worse is also wrong. We can all get along!
Not sure I follow you. Your python example is very explicitly passing a _single_ arguement, a list of three items. If you call it the same way you call the perl code, you'd have the same result.
Exactly, it's a trade-off. Making the other side of the fence not impossible to reach, you just have to hop a little. Perl can easily be made nicer and Python can surely with ease be made more flexible.
> exceptions
http://search.cpan.org/~nilsonsfj/Error-TryCatch-0.07/lib/Er...
or just eval and see what the output is.
> objects
Edit: I was being an asshole Perl has a decent object system out of the box and Moose for those times when you want type constraints.
> etcLexical scoping, anonymous coderefs that can be passed as data, modifiable syntax, reference semantics, and the regex engine I see other languages comparing theirs too.