Python vs. Perl

Tim Hammerquist tim at
Wed May 30 07:55:28 CEST 2001

Jonathan Gardner <gardner at> wrote:
> On Saturday 26 May 2001 02:17 am, Thomas Wouters wrote:
> >
> > The => token simply quotes the preceding token, and then translates
> > itself into a comma. So
> >
> >  {key1 => 'value1', key2 => 'value2'};
> >
> > is the same as the second example above.
> Which stinks, because you have to make sure that 'key1' is a token. For 
> instance, you can't do this:
> (1=>'one', the second one=>'two')
> because '1' won't be quoted, and 'the second one' has spaces. So it's a 
> Neat Trick (TM) that you can only use once in a while.

Precisely what do you mean by "'1' won't be quoted"?
Whether defined ( 1 => 'one' )  or  ( '1' => 'one' )
they are still accessible via $hash{1} or $hash{'1'}

As for { the second one => 'two' }, I would do my best to find a better
hash key.  If I couldn't avoid this as a key, it's not that hard to
surround it with quotes, which Python users do anyway.  There's nothing
in Perl that says you _must_ use barewords for hash keys.  And using =>
as a synonym for a comma allows:

: %hash1 = ( '1' => 'one', '2' => 'two', '3' => 'three' );
: @array = %hash1;
: print join(',', at array), "\n";
: %hash2 = @array;
: print "$_ = $hash2{$_}\n" for keys %hash2;

1 = one
2 = two
3 = three

> Which kind of makes it confusing for everyone involved. Why even have that 
> behavior if it works only in certain instances?

It places the ultimate decision in the coder's hands.

> As a sidenote, I was reading that if you have a barewored (which 'the', 
> 'second', 'one' all are) they are considered to be quoted in earlier 
> versions of perl.

Did this version of Perl also require all sub calls to be preceded by a
& thus:

> Which is further proof that perl is a very confusing language.

Then stick with Python.  Confusing is one thing Python is rarely accused

-Tim Hammerquist <timmy at>
Your question doesn't make any sense. You might as well ask whether
it is possible to grow vegetables from a painting, without becoming
Wednesday first.
	-- Abigail, c.l.p.misc

More information about the Python-list mailing list