Subject: | Lexical::Types has stopped 'playing nicely' with PPI in 0.10 |
Lexical::Types has stopped 'playing nicely' with PPI in 0.10
The simplest use case to reproduce the problem is:
perl -e 'require Lexical::Types; require PPI;' # hangs indefinitely
It works if you load PPI first:
time perl -e 'require PPI; require Lexical::Types;' # returns immediately
I'm seeing this with PPI 1.213 / Lexical::Types 0.10
This is NOT occurring with 0.09.
It's happening with perl 5.8.8, 5.10.1 and 5.12.3.
My testing output is:
$ perl -le 'print $]'
5.012003
$ perlversion Lexical::Types PPI
[Lexical::Types] 0.10
[PPI] 1.213
$ time perl -e 'require Lexical::Types; require PPI;'
^C
real 6m36.870s
user 6m31.412s
sys 0m0.009s
$ time perl -e 'require PPI; require Lexical::Types;'
real 0m0.059s
user 0m0.049s
sys 0m0.010s
$ perl -le 'print $]'
5.010001
$ perlversion Lexical::Types PPI
[Lexical::Types] 0.10
[PPI] 1.213
$ time perl -e 'require Lexical::Types; require PPI;'
^C
real 0m31.011s
user 0m30.984s
sys 0m0.015s
Testing with different versions of Lexical::Types under perl 5.8.8:
$ perl -le 'print $]'
5.008008
$ perlversion Lexical::Types PPI
[Lexical::Types] 0.08
[PPI] 1.213
$ time perl -e 'require Lexical::Types; require PPI;'
real 0m0.088s
user 0m0.068s
sys 0m0.012s
$ perl -le 'print $]'
5.008008
$ perlversion Lexical::Types PPI
[Lexical::Types] 0.09
[PPI] 1.213
$ time perl -e 'require Lexical::Types; require PPI;'
real 0m0.082s
user 0m0.068s
sys 0m0.012s
$ perl -le 'print $]'
5.008008
$ perlversion Lexical::Types PPI
[Lexical::Types] 0.10
[PPI] 1.213
$ time perl -e 'require Lexical::Types; require PPI;'
^C
real 0m24.808s
user 0m23.713s
sys 0m0.000s