Subject: | find_encoding(q[cp1252]) fails if Storable is loaded |
find_encoding(q[cp1252]) fails if Storable is loaded, it doesn't matter
which is loaded first
$ perl -le " require Encode; print Encode::find_encoding(q[cp1252]) "
Encode::XS=SCALAR(0xa3f02c)
$ perl -le " require Storable; require Encode; print
Encode::find_encoding(q[cp1252]) "
$ pmvers Storable Encode
Storable: 2.30
Encode: 2.43
If I turn on PERL_ENCODE_DEBUG I see
$ perl -le " require Encode; print Encode::find_encoding(q[cp1252])
delete $Alias{C} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{ascii} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{cyrillic} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{arabic} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{greek} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{hebrew} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{thai} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
Encode::utf8 XS on at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode.pm line 299.
eval "cp$1" at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 32.
eval "\L$1" at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 32.
find_alias(Encode, cp1252)->name = at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 75.
delete $Alias{adobestandardencoding} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macarabic} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{maccentraleurroman} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{maccroatian} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{maccyrillic} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macfarsi} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macgreek} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{machebrew} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macicelandic} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macroman} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macromanian} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macrumanian} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macsami} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macthai} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macturkish} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{macukrainian} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
cp1252 => cp1252 at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 63.
find_alias(Encode, cp1252)->name = cp1252 at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 75.
Encode::XS=SCALAR(0xa4b8bc)
$ perl -le " require Storable; require Encode; print
Encode::find_encoding(q[cp1252])
delete $Alias{C} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{ascii} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{cyrillic} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{arabic} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{greek} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{hebrew} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
delete $Alias{thai} at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 100.
Encode::utf8 XS on at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode.pm line 299.
eval "cp$1" at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 32.
eval "\L$1" at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 32.
find_alias(Encode, cp1252)->name = at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 75.
cp1252 => cp1252 at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 63.
find_alias(Encode, cp1252)->name = at
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread/Encode/Alias.pm line 75.
Thanks for your time
Summary of my perl5 (revision 5 version 14 subversion 1) configuration:
Commit id: cc92ef02098c000d945bcf93c92bdb2a0a05fa97
Platform:
osname=MSWin32, osvers=5.1, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags =' -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing
-mms-bitfields',
optimize='-s -O2',
cppflags='-DWIN32'
ccversion='', gccversion='4.5.2', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='long
long', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='g++', ldflags ='-static-libgcc -static-libstdc++ -s
-L"c:\perl\5.14.1\lib\MSWin32-x86-multi-thread\CORE" -L"C:\MinGW\lib"'
libpth=C:\MinGW\lib
libs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32
-ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr
-lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
perllibs=-lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool
-lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid
-lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32
libc=, so=dll, useshrplib=true, libperl=libperl514.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-mdll -static-libgcc -static-libstdc++
-s -L"c:\perl\5.14.1\lib\MSWin32-x86-multi-thread\CORE" -L"C:\MinGW\lib"'
Characteristics of this binary (from libperl):
Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC
USE_ITHREADS USE_LARGE_FILES USE_PERLIO
USE_PERL_ATOF
Built under MSWin32
Compiled at Jul 22 2011 00:38:35
@INC:
C:/perl/site/5.14.1/lib/MSWin32-x86-multi-thread
C:/perl/site/5.14.1/lib
C:/perl/5.14.1/lib/MSWin32-x86-multi-thread
C:/perl/5.14.1/lib
.