Perl Executing Browser (PEB) is an HTML user interface for Perl 5 desktop applications. It is a C++ Qt 5 application running local Perl scripts as child processes without server. Inspired by Electron and NW.js, PEB is another reuse of web technologies in desktop applications with Perl doing the heavy lifting instead of Node.js.
- Quick Start
- Design Objectives
- Features
- Security
- Limitations
- REQUIREMENTS
- FILES AND FOLDERS
- SETTINGS
- APPIMAGE SUPPORT
- 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.
-
1. Download the PEB Demo Application.
64-bit Linux single-file AppImage executable and
32-bit Windows ZIP archive are available.
They include everything you need to start developing PEB-based applications. -
2. Unpack:
64-bit Linux:
./peb-demo-*.AppImage --appimage-extract
Windows:
Unzip using any Windows unzip utility. -
3. Optionally install any CPAN modules you may need:
64-bit Linux:
cd squashfs-root/resources/app/perl/bin ./perl ./cpanm YourModule
Windows - from the extracted
peb-demo
directory:cd resources\app\perl .\portableshell.bat cpanm YourModule
-
4. Write your Perl application reading user input on STDIN:
my $input = <STDIN>; chomp $input;
-
5. Write a
{PEB_executable_directory}/resources/app/index.html
with
a settings JavaScript object for every Perl script you want to use.
Start local Perl scripts by clicking a link or submitting a form to a special URL.
Select files or folders with their full paths by clicking a link to a special URL. -
6. Optionally change the PEB AppImage configuration files.
-
7. Optionally pack your application:
64-bit Linux - from the extracted
squashfs-root
directory:export VERSION="X.X.X" && ./appimager.sh
The resulting AppImage will be produced in the
squashfs-root
directory.Windows:
Zip your PEB-based application using any Windows zip utility.
- 1. Easy graphical user interface for Perl 5 desktop applications
- 2. Zero-installation software
- 3. Cross-platform availability
- 4. Secure solution with no server process
- 5. Maximal reuse of existing web technologies and standards
- PEB can be started from any folder without installation procedure.
- No limitation on how long a Perl script can run.
- Perl script output is seamlessly inserted in an HTML user interface.
- Any version of Perl 5 can be used.
- Select files and folders.
- Logging of Perl errors in the JavaScript console
- Optional warning for unsaved data in HTML forms
- Optional labels for the JavaScript popup boxes and context menus
- Optional icon
- PEB does not need administrative privileges or installation procedure.
- PEB does not need and does not implement any server process.
- PEB can not open web pages.
- PEB Perl scripts are executed locally with no sandbox.
- No access to web pages
- No Perl scripting inside frames
- No pop-up windows
- No printing
- Limited HTML5 support
PEB has unified logging of JavaScript and Perl errors in the JavaScript console.
Press Ctrl + I to open the QWebInspector
and go to the Console
tab.
PEB was started in 2013 by Dimitar D. Mitov as a simple user interface for personal database applications.
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.
Dimitar D. Mitov, 2013 - 2020, 2023
Valcho Nedelchev, 2014 - 2016