in reply to Erm? Bug or not? Weird behaviour in hash / list conversion
Trying to puzzle out what the heck is meant by %{{ }} = LIST, I did
That looks like a borderline syntax error, since perl parses the code to something just as weird, but differently. Or maybe it's an O::Deparse problem.$ perl -MO=Deparse -e'print join( "|", %{{ }} = (1)x100 );' print join('|', %{{};} = (1) x 100); -e syntax OK $ perl -e'print join( "|", %{{};} = (1)x100 );' syntax error at -e line 1, near "%{{};" Unmatched right curly bracket at -e line 1, at end of line Execution of -e aborted due to compilation errors. $
The behavior you noted goes away if all the hash key slots are different:
Warnings are on, so the weirdness would show noisily.$ perl -we'print join( "|", %{{ }} = 1..100 );' 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|2 +7|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|5 +0|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|7 +3|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|9 +6|97|98|99|100$ $ perl -we'print join( "|", %{{ }} = (1,1,2,1,3,1,4,1,5,1) );' 1|1|2|1|3|1|4|1|5|1$
After Compline,
Zaxo
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Double Erm?
by etcshadow (Priest) on Oct 29, 2003 at 05:39 UTC |