File Coverage

blib/lib/Linux/Shadow.pm
Criterion Covered Total %
statement 30 31 96.7
branch 2 4 50.0
condition n/a
subroutine 9 9 100.0
pod n/a
total 41 44 93.1


line stmt bran cond sub pod time code
1             package Linux::Shadow;
2              
3 1     1   17237 use 5.010001;
  1         5  
4 1     1   6 use strict;
  1         1  
  1         32  
5 1     1   4 use warnings;
  1         7  
  1         36  
6 1     1   4 use feature 'state';
  1         1  
  1         255  
7 1     1   5 use Carp;
  1         1  
  1         91  
8              
9             require Exporter;
10 1     1   864 use AutoLoader;
  1         1463  
  1         5  
11              
12             our @ISA = qw(Exporter);
13              
14             # Items to export into callers namespace by default. Note: do not export
15             # names by default without a very good reason. Use EXPORT_OK instead.
16             # Do not simply export all your public functions/methods/constants.
17              
18             # This allows declaration use Linux::Shadow ':all';
19             # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
20             # will save memory.
21             our %EXPORT_TAGS = ( 'all' => [ qw(
22             SHADOW
23             getspnam
24             getspent
25             setspent
26             endspent
27             ) ] );
28              
29             our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
30              
31             our @EXPORT = qw(
32             getspnam
33             getspent
34             setspent
35             endspent
36             );
37              
38             our $VERSION = '0.04';
39              
40             sub AUTOLOAD {
41             # This AUTOLOAD is used to 'autoload' constants from the constant()
42             # XS function.
43              
44 1     1   102 my $constname;
45 1         2 our $AUTOLOAD;
46 1         7 ($constname = $AUTOLOAD) =~ s/.*:://;
47 1 50       8 croak "&Linux::Shadow::constant not defined" if $constname eq 'constant';
48 1         7 my ($error, $val) = constant($constname);
49 1 50       4 if ($error) { croak $error; }
  0         0  
50             {
51 1     1   161 no strict 'refs';
  1         1  
  1         99  
  1         3  
52 1     3   10 *$AUTOLOAD = sub { $val };
  3         5214  
53             }
54 1         5 goto &$AUTOLOAD;
55             }
56              
57             require XSLoader;
58             XSLoader::load('Linux::Shadow', $VERSION);
59              
60             # Preloaded methods go here.
61              
62             # Autoload methods go after =cut, and are processed by the autosplit program.
63              
64             1;
65             __END__