On Wed, Jan 21, 2009 at 04:32:36PM -0500, Stew Benedict wrote: > Remaining modules: > > mysql> select ILMname from InterpretedLanguageModule where ILMlanguage=1 > and ILMappearedin = '3.2'; > ILMname > AnyDBM_File Remove that and dbmopen will fail. So it breaks a builtin. (It's referenced in pp_sys.c and toke.c) > AutoLoader http://www.perlpunks.de/corelist/version?module=AutoLoader&submit.query=Show+version shows that it's been in the perl core since 5.000 so not having it will break expectations. (That site happens to provide a convenient way to query the data in Module::CoreList) > CGI Many third party scripts assume that this is present. It's been included since 5.004. However, FreeBSD stripped it from their default perl install at about FreeBSD 6.0, so there's precedence for not having it. > CPAN A lot of documentation assumes that this (and the shell interface 'cpan') exist. > Cwd Been in the core since 5.000. Use is encouraged. > Carp Been in the core since 5.000. Commonly used, and expected to be ubiquitous. > Data::Dumper Added in 5.005. Commonly used, and now expected to be ubiquitous. > Encode Taking encode out breaks most forms of localised IO. > English Whilst we'd love it to go, it's referenced everywhere. (And been present since 5.000) > Exporter Everything will break without this > ExtUtils::MakeMaker You won't be able to install extensions without this. > Fcntl There was a consensus about two years back that if the user removed this module at ./Configure time, then *they* broke their perl. ie that perl and Perl modules can assume that this is present. > File::Find Been present since 5.000. Not going to go away. > File::Spec Been present since 5.00405. Its use is encouraged to foster portability. > File::Temp Been present since 5.6.1. Whilst this is relatively recent, its use is encouraged as it's way better than most people's idea of a temporary file. > FileHandle Whilst you can take FileHandle out and not break everything, you can't take both it and IO out. > FindBin Been present since 5.00307. Not going to go away. Widely used. > Getopt::Std Been present since 5.000. Not going to go away. > IO::Handle Referenced in gv.c > PerlIO > PerlIO::encoding > PerlIO::scalar > PerlIO::via > PerlIO::via::QuotedPrint None of these are going to go away. PerlIO::scalar is needed to implement one variant of open. > Scalar::Util Not going to go away. It would be useful to specify that the 'weaken' function should work. At least one Linux distribution managed to "upgrade" from the XS implementation (which can support it) to the pure Perl implementation (which cannot) which broke installed end-user code. It would be good for everyone's credibility not to repeat that. > Shell Personally I'm considering that that should go. But that would be in 5.14 > Socket Present since 5.000. Provides essential socket related constants. > Storable Although only present since 5.8.0, it's not going away, and is widely assumed to be present. > Switch Yes. Please kill it! (Not likely to go away until 5.14) > Symbol Present since 5.002. Whilst it is a dependency of other modules, and unlikely to go away, I suspect it shouldn't be listed as it's mainly an implementation detail. > Sys::Hostname Present since 5.000. Widely referenced. > Test Effectively this is deprecated. Best not to list it. > Test::Simple Assumed to be present. (as per previous message) > UNIVERSAL That's an implementation detail. > constant Present since 5.004. Remove would break a lot of documented code. > integer A core pragma. Should be present. > locale A core pragma. Should be present. > overload A core pragma. Should be present. > strict A core pragma. Should be present. > warnings A core pragma. Should be present. > warnings::register Sufficiently documented that code expects it to be there, and quite stable. Arguably all the core pragmata should be present, and maybe I should have included 'bytes' and 'utf8' in the list of common ones, but if any of the above aren't present, I wouldn't consider it "Perl" Nicholas ClarkThread Previous | Thread Next