Awesome
Perl Executing Browser
Perl Executing Browser (PEB) is an HTML user interface for Perl 5 desktop applications.
It is a C++ Qt 5 program running local Perl scripts as child processes without server.
Contents
- Design Objectives
- Features
- Requirements
- Security
- Limitations
- Application Directory
- Perl Scripts API
- Ubuntu Package
- Logging
- History
- Thanks and Credits
- License
- Authors
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL"
in the documentation of this project are to be interpreted as described in RFC 2119.
Design Objectives
- 1. Easy graphical user interface for Perl 5 desktop applications
- 2. Secure solution with no server process
- 3. Maximal reuse of existing web technologies and standards
Features
- No limitation on how long a Perl script can run
- Any version of a relocatable or standard Perl 5 distribution can be used.
- Output from Perl scripts is seamlessly inserted in a web-like user interface.
- Local full paths can be selected and passed to Perl scripts.
- Optional icon
Requirements
Compile-Time Requirements
- Qt development bundle versions 5.9 - 5.15
- QtWebEngine headers and libraries
Run the following commands in the root directory of the PEB project to compile PEB:
cd src
qmake -qt=qt5
make
Runtime Requirements
- QtWebEngine 5.9 - 5.15 runtime libraries
- Perl 5 - any Linux Perl distribution
PEB will use the first Perl on PATH if a full path to a Perl interpreter is not set.
Security
- PEB does does not implement and does not use a server process.
- PEB Perl scripts are only local scripts executed with no sandbox.
- PEB does not access web content.
Limitations
- No access to web content
- No Perl scripting inside frames
- No JavaScript Alert, Confirm and Prompt
- No pop-up windows
- Minimal context menu
- No printing
- No AppImage support
Application Directory
Perl Scripts API
Ubuntu Package
PEB can be packed as an Ubuntu .deb package and installed using the following commands:
./makedeb.sh
sudo dpkg -i peb-*-x86_64.deb
After installation, PEB becomes a runtime for PEB-based applications and must be started with a PEB Application Directory as its only command-line argument:
peb /full/path/to/application-directory
peb ./relative/path/to/application-directory
Logging
PEB has unified logging of all JavaScript and Perl errors in the command-line console.
History
PEB was started in 2013 as a simple user interface for personal database applications.
Thanks and Credits
License
This program is free software;
you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License,
as published by the Free Software Foundation;
either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Authors
Dimitar D. Mitov, 2013 - 2024
Valcho Nedelchev, 2014 - 2016