This file is indexed.

/usr/share/perl5/Module/ScanDeps/DataFeed.pm is in libmodule-scandeps-perl 1.13-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
package Module::ScanDeps::DataFeed;

use strict; 
use vars qw( %_INC @_INC @_dl_shared_objects @_dl_modules $_0 );

require Cwd;
require DynaLoader;
require Data::Dumper;
require B; 
require Config;

# Write %_INC, @_INC etc to $filename
sub _dump_info 
{
    my ($filename) = @_;

    while (my ($k, $v) = each %_INC)
    {
        # Notes:
        # (1) An unsuccessful "require" may store an undefined value into %INC.
        # (2) If a key in %INC was located via a CODE or ARRAY ref or
        #     blessed object in @INC the corresponding value in %INC contains
        #     the ref from @INC.
        if (defined $v && !ref $v)
        {
            $_INC{$k} = Cwd::abs_path($v);
        }
        else
        {
            delete $_INC{$k};
        }
    }

    # drop refs from @_INC
    @_INC = grep { !ref $_ } @_INC;

    my $dlext = $Config::Config{dlext};
    my @so = grep { defined $_ && -e $_ } _dl_shared_objects();
    my @bs = @so;
    my @shared_objects = ( @so, grep { s/\Q.$dlext\E$/\.bs/ && -e $_ } @bs );

    open my $fh, ">", $filename 
        or die "Couldn't open $filename: $!\n";
    print $fh Data::Dumper->Dump(
                  [\%_INC, \@_INC, \@shared_objects], 
                  [qw(*inchash *incarray *dl_shared_objects)]);
    print $fh "1;\n";
    close $fh;
}

sub _dl_shared_objects {
    if (@_dl_shared_objects) {
        return @_dl_shared_objects;
    }
    elsif (@_dl_modules) {
        return map { _dl_mod2filename($_) } @_dl_modules;
    }
    return;
}

sub _dl_mod2filename {
    my $mod = shift;

    return if $mod eq 'B';
    return unless defined &{"$mod\::bootstrap"};

    my $dl_ext = $Config::Config{dlext};

    # Copied from XSLoader
    my @modparts = split(/::/, $mod);
    my $modfname = $modparts[-1];
    my $modpname = join('/', @modparts);

    foreach my $dir (@_INC) {
        my $file = "$dir/auto/$modpname/$modfname.$dl_ext";
        return $file if -r $file;
    }

    return;
}

1;

__END__

# AUTHORS
# 
# Edward S. Peschko <esp5@pge.comE>,
# Audrey Tang <cpan@audreyt.org>,
# to a lesser degree Steffen Mueller <smueller@cpan.org>
# 
# COPYRIGHT
# 
# Copyright 2004-2009 by Edward S. Peschko <esp5@pge.com>,
# Audrey Tang <cpan@audreyt.org>,
# Steffen Mueller <smueller@cpan.org>
# 
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
# 
# See <http://www.perl.com/perl/misc/Artistic.html