https://github.com/domm/acme-returnvalue
Report interesting Perl module return values
https://github.com/domm/acme-returnvalue
cpan hacktoberfest
Last synced: 7 months ago
JSON representation
Report interesting Perl module return values
- Host: GitHub
- URL: https://github.com/domm/acme-returnvalue
- Owner: domm
- Created: 2009-05-05T06:44:29.000Z (about 17 years ago)
- Default Branch: master
- Last Pushed: 2021-05-10T07:41:44.000Z (about 5 years ago)
- Last Synced: 2025-10-22T07:49:19.392Z (7 months ago)
- Topics: cpan, hacktoberfest
- Language: Perl
- Homepage: https://returnvalues.plix.at
- Size: 85.9 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
Awesome Lists containing this project
README
# NAME
Acme::ReturnValue - report interesting return values
# VERSION
version 1.004
# SYNOPSIS
use Acme::ReturnValue;
my $rvs = Acme::ReturnValue->new;
$rvs->in_INC;
foreach (@{$rvs->interesting}) {
say $_->{package} . ' returns ' . $_->{value};
}
# DESCRIPTION
`Acme::ReturnValue` will list 'interesting' return values of modules.
'Interesting' means something other than '1'.
See [https://returnvalues.plix.at](https://returnvalues.plix.at) for the results of running Acme::ReturnValue on the whole CPAN.
## METHODS
### run
run from the commandline (via `acme_returnvalue.pl`
### waste\_some\_cycles
my $data = $arv->waste_some_cycles( '/some/module.pm' );
`waste_some_cycles` parses the passed in file using PPI. It tries to
get the last statement and extract it's value.
`waste_some_cycles` returns a hash with following keys
- file
The file
- package
The package defintion (the first one encountered in the file
- value
The return value of that file
`waste_some_cycles` will also put this data structure into
[interesting](https://metacpan.org/pod/interesting) or [boring](https://metacpan.org/pod/boring).
You might want to pack calls to `waste_some_cycles` into an `eval`
because PPI dies on parse errors.
#### \_is\_code
Stolen directly from Perl::Critic::Policy::Modules::RequireEndWithOne
as suggested by Chris Dolan.
Thanks!
### in\_CPAN
Analyse CPAN. Needs a local CPAN mirror
### in\_INC
$arv->in_INC;
Collect return values from all `*.pm` files in `@INC`.
### in\_dir
$arv->in_dir( $some_dir );
Collect return values from all `*.pm` files in `$dir`.
### in\_file
$arv->in_file( $some_file );
Collect return value from the passed in file.
If [waste\_some\_cycles](https://metacpan.org/pod/waste_some_cycles) failed, puts information on the failing file into [failed](https://metacpan.org/pod/failed).
### interesting
Returns an ARRAYREF containing 'interesting' modules.
### boring
Returns an ARRAYREF containing 'boring' modules.
### failed
Returns an ARRAYREF containing unparsable modules.
# BUGS
Probably many, because I'm not sure I master PPI yet.
# AUTHOR
Thomas Klausner
# COPYRIGHT AND LICENSE
This software is copyright (c) 2013 - 2021 by Thomas Klausner.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.