3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-26 12:42:49 +01:00
pbot/applets/compiler_vm/host/lib/Languages/perl.pm
Pragmatic Software 33e13fd993 Start refactoring virtual machine (1/3)
This is expected to take three commits to complete. This first initial
commit does the following:

- Begin initial rough-draft of doc/VirtualMachine.md
- Begin initial refactoring of scripts

The next commit will polish up the initial rough-draft and refactoring.

The final commit will quality-check everything and fix anything overlooked.
2022-01-23 07:49:23 -08:00

38 lines
990 B
Perl
Executable File

#!/usr/bin/perl
# SPDX-FileCopyrightText: 2021 Pragmatic Software <pragma78@gmail.com>
# SPDX-License-Identifier: MIT
use warnings;
use strict;
package Languages::perl;
use parent 'Languages::_default';
use Text::ParseWords qw(shellwords);
sub initialize {
my ($self, %conf) = @_;
$self->{sourcefile} = 'prog.pl';
$self->{execfile} = 'prog.pl';
$self->{default_options} = '-w';
$self->{cmdline} = 'perl $options $sourcefile';
}
sub postprocess_output {
my $self = shift;
$self->SUPER::postprocess_output;
$self->{output} =~ s/\s+at $self->{sourcefile} line \d+, near ".*?"//;
$self->{output} =~ s/\s*Execution of $self->{sourcefile} aborted due to compilation errors.//;
$self->{cmdline_opening_comment} = "=cut =============== CMDLINE ===============\n";
$self->{cmdline_closing_comment} = "=cut\n";
$self->{output_opening_comment} = "=cut =============== OUTPUT ===============\n";
$self->{output_closing_comment} = "=cut\n";
}
1;