################################################### # Examples of provides ################################################### package Test; package TMP::tmp; ################################################### # Examples of requires ################################################### ################################################### # Simple 'use' use Test::Simple; ################################################### # Simple 'use' with whitespaces at the beginning use Use::WhiteSpace; ################################################### # 'use' with version use v5.6.1; use version 0.77; # TODO use Meow v1.2.3; ################################################### # 'use' with parameter # TODO # The extra parameters are found only for 'base' and 'parent' use overload + = \+ use POE qw(System::Wheel Client::HTTP); use Any::Moose 'Role'; use aliased "Some::Crazy::Module"; use aliased "Another::Crazy::Module" => "ShorterName"; use Moose; # Is not find yet with 'Foo::Bar'; # => { -version => 0.01 }, 'Bar::Baz'; # => { -version => 0.03 }; use Test::Requires qw(TestRequiresArray1 TestRequiresArray2); use Test::Requires {TestRequiresHash1 => 0.1, TestRequiresHash2 => 0.2}; ################################################### # 'use' with 'base' or 'parent use base 'Exporter'; use parent qw(DBI); # TODO # It is not parse correctly yet, because it does not remove anything from list # of found modules. # use parent 'NotRequiredByParent1'; # use parent -norequire, 'NotRequiredByParent1', 'NotRequiredByParent2'; # # Do not process 'no' yet # no File::Path; # # use if $[ < 5.8.8, POE => qw(Client::TCP Server::TCP) ################################################### # 'require' require File::Copy (); require Carp; ################################################### # 'require' with whitespaces at the beginning # TODO require Require::WhiteSpace; # TODO # Does not find modules defined at 'eval' eval{ require File::Spec; 1} or die; 1