An open API service indexing awesome lists of open source software.

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

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.