2018-07-20 16:04:11 +0100 James Kerwin: > Afternoon all, > > I have been asked to take a look at a .pl file which is part of a set-up > called "EPrints". The particular file controls who can access documents on > a server. > > Excluding some comments, the file starts like: > > $c->{can_request_view_document} = sub > { > my( $doc, $r ) = @_; > > It then goes on to complete the subroutine and return a value. > > I understand that $doc and $r are populated via @_ but I have never before > seen the structure of the first line starting with "$c". Additionally, the > file doesn't look like a typical Perl file (eg.#!/usr/bin/perl -w at the > top and some use statements).
Maybe some piece of code is doing "do 'the_file.pl'" or the file's content is being given to eval(). In these cases, probably a hashref $c was already declared and being used in the code that runs the do() or eval(). > I know it's very vague, but could anybody explain this syntax to me? My > suspicion is that something else is calling the subroutines in this file? > Am I at least on the right track? > > Thanks, > James
signature.asc
Description: Digital signature