/usr/share/perl5/Language/INTERCAL/Interface.pm is in clc-intercal 1:1.0~4pre1.-94.-2-4.
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 | package Language::INTERCAL::Interface;
# User interface for sick and intercalc
# This file is part of CLC-INTERCAL
# Copyright (c) 2006-2008 Claudio Calvelli, all rights reserved.
# CLC-INTERCAL is copyrighted software. However, permission to use, modify,
# and distribute it is granted provided that the conditions set out in the
# licence agreement are met. See files README and COPYING in the distribution.
use strict;
use vars qw($VERSION $PERVERSION);
($VERSION) = ($PERVERSION = "CLC-INTERCAL/Base INTERCAL/Interface.pm 1.-94.-2") =~ /\s(\S+)$/;
use Carp;
use Language::INTERCAL::Exporter '1.-94.-2';
sub new {
@_ >= 3 or croak "Usage: Language::INTERCAL::Interface->new"
. "(SERVER, PREFER, TRY_LIST)";
my $class = shift;
my $server = shift;
my $prefer = shift;
my $lasterr = "Could not load user interface";
for my $name ($prefer || @_) {
my $modname = "Language::INTERCAL::Interface::$name";
eval "require $modname";
if ($@) {
$lasterr = $@;
next;
}
my $obj = eval { $modname->new($server) };
return $obj if $obj && ref $obj;
$lasterr = $@ if $@;
};
$lasterr .= "\n" if $lasterr !~ /\n$/;
die $lasterr;
}
1;
|