in reply to [OT] Python to Perl.
I'm sure you've done this:
>>> a = [0] * 10 >>> a [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
...and so are aware that, at least superficially, the construct is the same as @a = (0) x 10. So I imagine the question is more about whether below the surface they are similar.
There is this gotcha:
>>> a = [1,2] >>> b = [a] * 5 >>> a [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]] >>> a[0] = 2 >>> b [[2, 2], [2, 2], [2, 2], [2, 2], [2, 2]]
But that's really no different than this:
my @a = (1, 2); my @b = (\@a) x 5; $a[0] = 2; print Dumper \@b;
It seems from documentation and behavior that the two are as close to being literal translations as can be hoped for across different languages.
Dave
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: [OT] Python to Perl.
by BrowserUk (Patriarch) on Jun 15, 2018 at 15:37 UTC |