use strict;
+# Scalar::Util 1.18 doesn't work on Windows
+my $win32 = !! ( $^O eq 'Win32' or $^O eq 'cygwin' );
+
my $build = Module::Build->new(
module_name => 'Moose',
license => 'perl',
requires => {
- 'Scalar::Util' => '1.18',
+ 'Scalar::Util' => $win32 ? '1.17' : '1.18',
'Carp' => '0',
'Class::MOP' => '0.34',
'Sub::Name' => '0.02',
- 'UNIVERSAL::require' => '0.10',
'Sub::Exporter' => '0.954',
'Sub::Install' => '0.92',
'B' => '0',
Revision history for Perl extension Moose
0.13
+ * Moose
+ - Removed the use of UNIVERSAL::require to be a better
+ symbol table citizen and remove a dependency.
+
* Moose::Cookbook
- added a FAQ and WTF files to document frequently
asked questions and common problems
- properly capturing error when type constraint
is not found
+ * Build.PL
+ - Scalar::Util 1.18 is bad on Win32, so temporarily
+ only require version 1.17 for Win32 and cygwin.
+
0.12 Sat. Sept. 1, 2006
* Moose::Cookbook
- Recipe5 (subtypes & coercion) has been written
use Sub::Name 'subname';
use B 'svref_2object';
-use UNIVERSAL::require;
use Sub::Exporter;
use Class::MOP;
# loading has a locally defined
# &require, we make sure that we
# use the on in UNIVERSAL
- ($super->UNIVERSAL::require)
- || confess "Could not load module '$super' because : " . $UNIVERSAL::require::ERROR;
- }
+ my $file = $class . '.pm';
+ $file =~ s{::}{/}g;
+ eval { CORE::require($file) };
+ confess(
+ "Could not load module '$super' because : $@"
+ ) if $@;
+ }
}
sub _is_class_already_loaded {
next if substr($_, -2, 2) eq '::';
return 1 if defined &{"${name}::$_"};
}
- return 0;
+ return 0;
}
1;