Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

task::weaken(3) [osx man page]

Task::Weaken(3) 					User Contributed Perl Documentation					   Task::Weaken(3)

Task::Weaken - Ensure that a platform has weaken support DESCRIPTION
One recurring problem in modules that use Scalar::Util's "weaken" function is that it is not present in the pure-perl variant. While this isn't necesarily always a problem in a straight CPAN-based Perl environment, some operating system distributions only include the pure-Perl versions, don't include the XS version, and so weaken is then "missing" from the platform, despite passing a dependency on Scalar::Util successfully. Most notably this is RedHat Linux at time of writing, but other come and go and do the same thing, hence "recurring problem". The normal solution is to manually write tests in each distribution to ensure that "weaken" is available. This restores the functionality testing to a dependency you do once in your Makefile.PL, rather than something you have to write extra tests for each time you write a module. It should also help make the package auto-generators for the various operating systems play more nicely, because it introduces a dependency that they have to have a proper weaken in order to work. How this Task works Part of the problem seems to stem from the fact that some distributions continue to include modules even if they fail some of their tests. To get around that for this module, it will do a few dirty tricks. If Scalar::Util is not available at all, it will issue a normal dependency on the module. However, if Scalar::Util is relatively new ( it is >= 1.19 ) and the module does not have weaken, the install will bail out altogether with a long error encouraging the user to seek support from their vendor (this problem happens most often in vendor-packaged Perl versions). This distribution also contains tests to ensure that weaken is available using more normal methods. So if your module uses "weaken", you can just add the following to your Module::Install-based Makefile.PL (or equivalent). requires 'Task::Weaken' => 0; SUPPORT
Bugs should be always be reported via the CPAN bug tracker at <> For other issues,contact the author. AUTHOR
Adam Kennedy <> SEE ALSO
Task, Scalar::Util, <> COPYRIGHT
Copyright 2006 - 2011 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.16.2 2011-03-08 Task::Weaken(3)

Check Out this Related Man Page

Module::Math::Depends(3pm)				User Contributed Perl Documentation				Module::Math::Depends(3pm)

Module::Math::Depends - Convenience object for manipulating module dependencies DESCRIPTION
This is a small convenience module created originally as part of Module::Inspector but released seperately, in the hope that people might find it useful in other contexts. METHODS
new my $deps = Module::Math::Depends->new; Creates a new, empty, dependency set. from_hash my $deps = Module::Math::Depends->from_hash( \%modules ); Creates a new dependency set from a raw hashref of modules names and versions. add_module $deps->add_module( 'My::Module' => '1.23' ); Adds a single module dependency to the set. Returns true, or dies on error. merge $my_deps->merge( $your_deps ); The "merge" method takes another dependency set and merges it into the current one, taking the highest version where both sets contain a module. Returns true or dies on error. as_string print $depends->as_string; Converts the dependency set to a simple printable string. SUPPORT
This module is stored in an Open Repository at the following address. <> Write access to the repository is made available automatically to any published CPAN author, and to most other volunteers on request. If you are able to submit your bug report in the form of new (failing) unit tests, or can apply your fix directly instead of submitting a patch, you are strongly encouraged to do so as the author currently maintains over 100 modules and it can take some time to deal with non- Critcal bug reports or patches. This will guarentee that your issue will be addressed in the next release of the module. If you cannot provide a direct test or fix, or don't have time to do so, then regular bug reports are still accepted and appreciated via the CPAN bug tracker. <> For other issues, for commercial enhancement or support, or to have your write access enabled for the repository, contact the author at the email address above. AUTHORS
Adam Kennedy <> COPYRIGHT
Copyright 2006 - 2008 Adam Kennedy. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of the license can be found in the LICENSE file included with this module. perl v5.10.0 2008-08-16 Module::Math::Depends(3pm)
Man Page

Featured Tech Videos