PerlEdit User Manual |
Sep 7 2003
Contents:
About PerlEdit |
PerlEdit is an IDE for Perl and a general-purpose text editor. It includes a source code text editor with syntax highlighting and a visual debugger.
It is fast and lightweight with a download size of less than 2 MB. PerlEdit is multi-platform and currently supports Windows and Linux.
Features include: language aware color syntax syntax highlighting, debugging of stand-alone and CGI Perl scripts, search and replace with Perl regular expressions, editing of files on remote machines using FTP, multi-level undo, multi-document interface, keystroke macros, plugins written in Perl, Unix, Windows and Mac file format support.
PerlEdit is free for personal non-commercial use. Commercial use require the purchase of a commercial license.
Editor
Transparently edit files located on a remote machine using FTP.
IDE
Debugger (commercial version only)
Plugins
PerlEdit can operate in one of four modes as described below.
When PerlEdit is initially installed it will operate in Trial mode for 30 days. All functions will operate normally.
After 30 days PerlEdit will switch to Free mode. In Free mode some functions such as 'Debug' are not available.
If a registration key is added to PerlEdit it will operate in registered Lite or Pro mode. Currently the only difference between Lite and Pro is the level of support available. All functions will operate normally.
System Requirements |
Windows: Any Windows 32 bit OS, including Win95/98/ME/NT/2K/XP.
Linux: Red-Hat Linux 6.2 or newer.
Disk space: 5MB
Installation |
Download the installer perledit-x.xx.exe file and run it. It will prompt for an installation directory and shortcut folder name. This will create a shortcut folder and add the installation directory to your PATH environment variable.
If you want to use the Perl syntax checking and debugging features you will also need to install Perl.
If you have a registration key, start PerlEdit then click on Help/Register and enter your registration key.
Untar the installer file perledit-x.xx-xxx.tar.gz with the commands:
cd ~
gzip -dc perledit-*.tar.gz | tar -xf -This will create a perledit sub-directory. For a personal installation we suggest that you install into ~/perledit , for a shared installation use the folder /usr/local/perledit.
Run the following commands and also add the lines to your .bash_profile or .profile file:
export PATH=install_dir:$PATH
export PERL5DB="BEGIN {require 'install_dir/Devel/pridedb.pm'}"
Where 'install_dir' is the directory where you installed PerlEdit.Error message: undefined symbol SmcOpenConnection
If you get the error message undefined symbol SmcOpenConnection, download www.indigostar.com/download/libGL.so.1 and www.indigostar.com/download/libGLU.so.1 . Copy the files to the current directory, and start pe from a command line prompt
You can also set the environment variable LD_RUN_PATH to the full path to where the libraries are located. This will eliminate the requirement to have the libraries in the current directory.If you have a registration key, start PerlEdit then click on Help/Register and enter your registration key.
Click on Start, Setting, Control Panel, Add/Remove Programs, then select and click on PerlEdit. Or, alternatively you can click on the Uninstall icon the PerlEdit shortcut folder.
Remove the PerlEdit files with the command:
rm -r install_dirWhere 'install_dir' is the directory where you installed PerlEdit.
Undo any changes that you made to the ~/.profile or ~/.bash_profile files.
Starting and Closing PerlEdit |
Click on Start/Programs/PerlEdit, then click on the PerlEdit shortcut.
Right click on any text file and click on 'Open with PerlEdit'.
Enter the command
pe filename...You can also enter multiple filenames or filenames with wildcards. Filenames containing spaces must be enclosed in double quotes.
Quit: Exits the program. If any edit windows have been modified but not yet saved, you will be prompted to save them.
Menu: File/Quit Shortcut: Ctrl+Q.Exit: Exits the program. If any edit windows have been modified but not yet saved, you will be prompted to save them.
Menu: File/Exit
Opening and Saving Files |
Use the open and save commands to open a text file for editing and to save the changes. The save-as command is be used to save the file to a new location or to a new name. Once a file has been opened it will appear in the recent files list in the File menu.
Open: To open a file enter File/Open or Ctrl+O.
Save: To save a file enter File/Save or Ctrl+S.
Close: To close a file enter File/Close or Ctrl+W.
SaveAs: To save a file with a new name or location enter File/SaveAs.
New: To create a new blank document enter Ctrl+N or File/New
Recent: To open a file that was opened previously enter File then a number 1-9
PerlEdit allows you to transparently edit files located on a remote machine using File Transfer Protocol (FTP). The remote Open and Save dialog boxes allow you to enter a hostname, user name and password. The dialog boxes also provide a history list from which you can select a previously selected host. Once a remote file has been opened it will appear in the recent files list in the File menu.
Open Remote: To open a file on a remote machine enter File/Open Remote FTP or Ctrl+Shift+O.
Save As Remote: To save a file to a remote machine enter File/Save As Remote FTP or Ctrl+Shift+S.
Recent: To open a file that was opened previously enter File then a number 1-9
Editing Files |
Use the text keys to insert text and the cursor keys to move the cursor. The edit window can be scrolled up and down by pressing ctrl-cursor-up or ctrl-cursor-down. The editor keeps a multi-level undo list.
Undo: This will undo the last change. Click Edit/Undo or press Ctrl+Z.
Redo: This will undo the last undo. Click Edit/Redo or press Ctrl+Y.
The Cut, Copy and Paste commands work on selected blocks of text. Blocks of text can be selected by dragging the mouse over them or by pressing the shift key along with the cursor movement keys.
Cut: To cut text enter Edit/Cut Ctrl+X.
Copy: To copy text enter Edit/Copy or Ctrl+C.
Paste: To paste text enter Edit/Paste or Ctrl+Y.
Perl Regular expressions: PerlEdit can use Perl regular expressions in the find and replace commands. For example the string "(\d+) (cm|inch)" will match a number of digits followed by either 'cm' or 'inch'. It will match twice in the string "I am 72 inch or 180 cm tall". Text that matched the patterns inside the string is captured and can be used in the replacement string. For example a replacement string of "height=$1 $2" would replace "72 inch" with "height=72 inch". A full description of regular expressions is beyond the scope of this manual.
Find or Replace: The Find/Replace command is used to search for text and optionally to replace the text with new text. One dialog is is used for both functions.
Click on Edit/Find/Replace or enter Ctrl+F.Repeat find: This will repeat the previous search.
Click on Edit/Repeat Find or press F3.Quick Find: This will find the the next occurrence of the word at the cursor.
Click Edit/Quick Find or press Ctrl-F3Repeat Replace: This will repeat the last replace command.
Click Edit/Repeat Replace or press F4
Bookmark are visual markers attached lines in a text file. Bookmark are persistent, they are remembered when the file is reopened.
Bookmark Toggle: This will add or remove a bookmark.
Click Edit/BookmarkToggle or press Ctrl+F2, or click the toolbar icon.Next Mark: This will go to the next bookmark, breakpoint or error.
Click Edit/GotoNextMark.or press F2Previous Mark: This will o go to the previous bookmark, breakpoint or error.
Click Edit/GotoPrevMark.or press Shift+F2
File Format: This command is used to change the type of line endings used in the file. The choices are Windows, Unix or Mac.
Click on Edit/File Format
GotoLine: This will prompt for a line number and will move the cursor to that line
Click on Edit/Goto Line... or press Ctrl-GIndent: Select a group of lines then use this command to move the text to the right.
Click Edit/Indent or press TabUnindent: Select a group of lines then use this command to move the text to the left.
Click on Edit/Outdent or press Shift+Tab (Windows) Ctrl+Shift+I (Linux)
Print: Prints the current file to the printer.
Menu: File/Print... Shortcut: Ctrl+P, Toolbar: yes
Options: This will display an options dialog that allows you to set various options.
Menu: Tools/Options... Shortcut: Alt+F7Play Macro: This will play back keystrokes recorded by the last Record Keystrokes command.
Menu: Tools/Play Macro Shortcut: F6Record Macro: This will record all keystrokes until the Stop Recording command is used.
Menu: Tools/Record Macro Shortcut: Shift+F6Stop Record Macro: This will stop recording keystrokes.
Menu: Tools/Stop Record Macro Shortcut: Ctrl+F6Bleach: Runs the bleach plugin. It will convert the text in the document to white-space. The file can be saved in this format to provide a trivial level of obfuscation. Clicking Bleach again will restore the text. This is also an example plugin.
Menu: Tools/Bleach Shortcut: Alt+1 Toolbar:Example Plugin: Runs the example plugin.
Menu: Tools/Example Plugin Shortcut: Alt+A
This menu item will display a list of subroutines in the current file. A checkmark is displayed next to the current subroutine. Click on a subroutine name to move the cursor to it.
Show output: This will show or hide the output window. The output window is used to store information such as the raw output from a syntax check command.
Menu: Windows/Show Output Shortcut: EscStay on top: This will keep the PerlEdit on top of all other applications. (Windows Only)
Menu: Windows/Stay on TopList of open files: Select one of the listed files to view it. The current file is displayed wit ha checkmark
Menu: Windows/number
Manual: Display the user manual in a new Web Browser window. On Windows the default browser is the default browser for the system. On Unix the default browser is Netscape. To select a different browser set the environment variable PERLEDIT_BROWSER to the path to the browser before starting PerlEdit.
Menu: Help/ManualKeyword help: To display help for a perl built-in function like print, open, etc or a Perl module, place the keyboard cursor on the work and press F1.
Menu: Help/Keyword Help Shortcut: F1About: Display version and copyright information
Menu: Help/AboutRegister...: This will allow you to enter your registration key if you have one
Menu: Help/Register
Syntax Checking Your Script |
Check Syntax: To perform a syntax check the current file click on the Check icon or Tools/CheckSyntax or press Shift+F7. Errors will displayed in the window in your document.
Next Mark: To go to the next bookmark, breakpoint or error click Edit/GotoNextMark.or enter F2
Previous Mark: To go to the previous bookmark, breakpoint or error click Edit/GotoPrevMark.or enter Shift+F2
Show Output: To see the full details of the messages produced by Perl -c, click on Window/ShowOutput.
Debugging a Perl script |
Open the script in PerlEdit then start the debugger by clicking on Tools, Run. Breakpoints may be added to the script before starting the script or while it is running.
Run: This will run the current script. It will stop at the next breakpoint if there is one or when the program ends.
Click on Tools/Run or press F5 or click on the toolbar icon.Continue: This will continue execution of the program. It will stop at the next breakpoint if there is one or when the program ends.
Click on Debug/Continue or press F5 or click on the toolbar icon.StepInto: This will execute the current statement and if the statement is a function call it will stop inside the called function. If the statement is not a function call then this command is the same as Step Over.
Click on Debug/Step Into or press F11 or click on the toolbar icon.StepOver: This will execute the current line and stop at the next line.
Click on Debug/Step Over or press F10 or click on the toolbar icon.StepOut: This will execute the remaining statements in the current function and will stop at the next line after the function has returned.
Click on Debug/Step Out. Shortcut: Shift+F11 or click on the toolbar icon.RunToCursor: This will continue execution of the program and stop at the line where the cursor is.
Click on Debug/Run to Cursor or press Ctrl+F10 or click on the toolbar icon.Breakpoint: Set or remove a breakpoint at the current line.
Click on Edit/Breakpoint Toggle or press F9 or click on the toolbar icon.
The Variables window is used display values of variables near the current line pointer. The list of variables and the values are updated whenever the debugger reaches a breakpoint. To change the value of a variable type in the new value.
The Watch window is used to display the values of user specified variables. To add a variable to the watch window type the variable name into the window. The variables will be updated with current values when you press enter or whenever the debugger reaches a breakpoint. To change the value of a variable type in the new value, but do not press enter.
Start PerlEdit first.
In the example below ''install_dir' is the directory where you installed PerlEdit. Set an environment variable with the following command:
set PERL5DB=BEGIN {require 'install_dir/Devel/pridedb.pm'}
Example:
set PERL5DB=BEGIN {require 'C:/Program Files/PerlEdit/Devel/pridedb.pm'}
Then run the script with the following command:
perl -d yourscript.plOr you can use the following command:
perl -I "install_dir" -d:pridedb yourscript.pl
Example:
perl -I "C:/Program Files/PerlEdit/Devel" -d:pridedb yourscript.pl
Set an environment variable with the following command:
export "PERL5DB=BEGIN {require 'install_dir/Devel/pridedb.pm'}"
Then run the script with the following command:
perl -d yourscript.plOr you can use the following command:
perl -I install_dir -d:pridedb yourscript.pl
Modify the first line of your script as shown below:
#!/path/to/perl -I install_dir -d:pridedbOn Windows if you have Perl.exe in your path, you can use:
#!perl -I install_dir -d:pridedbIf the path contains a space then enclose it in quotes. Example:
#!perl -I "C:\Program Files\PerlEdit" -d:pridedbStart PerlEdit then start the Perl script from a web browser.
Copy the script from install_dir/Devel/pridedb.pm to the remote machine into a directory path like remote_dir/Devel/pridedb.pm . A good place to put the Devel directory is in the cgi-bin directory of your webserver. Edit the script and change the line $debug_server_host= 'localhost'; to the name or ip address of the machine where PerlEdit is running.
Modify the first line of your script as shown below:
#!/path/to/perl -I remote_dir -d:pridedb
or, the following will work if Devel/pridedb.pm is in cgi-bin
#!/path/to/perl -d:pridedbYou will need FTP access to the files being debugged or a local copy of them. Tell PerlEdit how to map remote filenames to local filenames. There is currently no UI for doing this. Edit the pe_config.xml file using a text editor and change the values of the entries localPrefix and remotePrefix as needed. Don't use PerlEdit to edit this file as it will get overwritten when PerlEdit exits.
Don't forget to change the entries back when you are done working with remote scripts.
Start PerlEdit then start the Perl script from a web browser.
Example 1: If your script is located at /usr/local/etc/httpd/cgi-bin/dbgcgi.pl and can be reached at the same location using FTP, then use the values:
remotePrefix=ftp://username:password@yourhost.com
localPrefix=Example 2: If your script is located at /usr/local/etc/httpd/cgi-bin/dbgcgi.pl and your local copy is at C:\localweb\cgi-bin , then use the values:
remotePrefix=/usr/local/etc/httpd/cgi-bin
localPrefix=C:/localweb/cgi-bin
Plugins |
PerlEdit plugins are used to manipulate the text being edited. A plugin is a perl script or executable program that reads data from the file being edited and replaces it with new text. It can be used, for example, to re-indent code.
To run a plugin click on the tools menu and then on the name of the plugin, or click the icon in the toolbar.
PerlEdit will send data in the current file to the standard input of the plugin and replace it with data from the standard output of the plugin. If any text is selected when a plugin is invoked it will be sent as input to the plugin otherwise the entire text will be sent. If any text is selected when a plugin is invoked it will be replaced by the output of the plugin otherwise the entire text will be replaced.
Below is code for a simple plugin which prepends the text 'xx ' in front of every line.
$| = 1; # disable buffering
while (<STDIN>) {
print "XX $_";
}
Save this file as myplugin.pl in the plugins directory. An item 'myplugin' will be automatically added to the Tools menu when PerlEdit is started. Plugins are assigned accelerator keys Alt-1, Alt-2, etc.
Copy a myplugin.gif, myplugin.jpg, myplugin.png, or myplugin.xpm image file of size 16x16 to 24x24 pixels to the plugins directory. PerlEdit will add the image to toolbar.
Create a myplugin.ini file to specify various options as described below:
; menutext defaults to the plugin filename
menutext=My plugin
; description defaults to the plugin filename
description=My plugin description
; accelerator defaults to ALT+1, ALT+2, etc
accelerator=Alt+B
; plugin input all | none, default is 'selected text or all text'
input=default
Plugins can send various text messages commands to affect the behavior of PerlEdit.
#plugin append
By default the plugin's output replaces the current selection if there is one otherwise it replaces all text. To append text to the current file use the following example:
print "#plugin append\n";
print "This text will be appended to the file\n";#plugin insert
To insert text at the current position use the following example:
print "#plugin insert\n";
print "This text will be inserted in the file\n";#plugin norepaint
#plugin repaint
These commands are used to turn off and turn on repainting of the display when text is inserted.
print "#plugin norepaint\n";
print "Some text $_\n" for (0..20);
print "#plugin repaint\n";#plugin save_cursor
#plugin restore_cursor
These commands are used to save and restore the cursor position after text is inserted.
print "#plugin save_cursor\n";
print "Some text $_\n" for (0..20);
print "#plugin restore_cursor\n";#plugin save_edited
#plugin restore_edited
These commands are used to save and restore the modified state of the text.
print "#plugin save_edited\n";
print "Some text $_\n" for (0..20);
print "#plugin restore_edited\n";
Release History |
V1.08 Aug 7 2003
Fixed: Crashes on exit on Windows XP
Fixed: Segmentation fault on Redhat 9
V1.07 May 11 2003
Support for multi-line syntax highlighting
Configurable highlight patterns and colors
Configurable colors, keywords, and subroutine definition
Language definition for C and C++
Fixed: Plugin was not working on Windows
Bracket matching
V1.06 Dec 2 2002
Bugfix: Debug function not working with Perl 5.8
V1.05 Nov 26 2002
Merged the Run and Debug commands into a single Run command
BugFix: Breakpoints not working if script path contains spaces
BugFix: Breakpoints on a CGI script on Windows/Apache was not working
Bugfix: Killing script with Ctrl-C will also close debug session
Bugfix: Cursor line is not visible after loading a file, if current line is
off-screen
V1.04 Nov 15 2002
Added FTP support
Added File Format to Edit menu item for setting Windows/Unix/Mac file format
Minor bugfixes
V1.03 Oct 30 2002
Search and replace now uses Perl regular expressions
Bugfix: Minor flicker when line numbers are displayed
Bugfix: lines number col not repainted when text is inserted or deleted
Fixed: Horizontal scrollbar displayed even when not needed.
Cancel overwriting a read-only file during a program exit should cancel the exit
Line-column widget is now bold and red
Fixed: Home key does not scroll window all the way to the left
Syntax syntax displays a dialog box when complete
Changed colors for strings and comments
V1.02 Oct 27
Added Goto Subroutine function
Added recent file list support
Added line number display
Expand wildcards on command line on Windows
Fix case of filename if incorrectly typed on Windows
Display * in caption of modified files
Line-column widget uses red font
Use Fixed font on Linux by default
Bugfix: Strings or comments containing tabs not painted correctly
Bugfix: selecting the current windows from the Windows menu re-shows it as
normal even if it was maximized.
Bugfix: opening the same file twice file will open two windows
BugFix: Allow overwriting of read-only file after confirmation
Bugfix: fails on Win98 with install string error message
V1.01 Oct 24 2002
Improved syntax highlighting which now understands single line comments and
strings
Added option to disable syntax highlighting
Will optionally prompt before saving a file when doing a syntax check, debug and
run
Fixed: screen flashes when doing indent or out-dent
Fixed: keyboard focus is lost if you type ALT then quickly type S
Add split to perl keyword list
Added Cut,Copy,Paste,Undo,Redo,Indent,Outdent commands to the edit menu
- these commands were previously only available by using shortcut keys
Save yes/no dialog will now accept a plain y/n without alt key
Tar file will be extracted into a perledit subdirectory
V1.00 Oct 17 2002
Added Indent/Outdent function Tab/Shift+Tab
Save file before syntax check, debug and run
Fixed: RepeatFind-F3 not working after QuickFind-F3 function
Added keyboard macro
Added Help Manual command
Added Keyword Help F1
Fixed: output window display toggle - ESC
Remember size of output window
Shareware/Lite/Pro/Trial mode
V0.05 Sep 30 2002
Added Watch window
Improved Variables window
Fixed: Multiple replace commands misses some strings
Remote debugging support
Added bleach plugin
V0.03 Feb 24 2002
New feature: Auto Indent
New feature: Code Completion
Fixed: Plugins not working on Win 9x
V0.02 Feb 16 2002
Updated documentation
Minor bug fixes
V0.01 Jan 31 2002
Support for Filter plugins
Syntax check output is displayed in the edit window
V0.00 Jan 23 2002
Original release
PerlEdit License Agreement |
By using and installing this Software you agree to be bound by the terms of
this license agreement. If you do not agree to the terms of this license you may
not use the Software.
1. LICENSE GRANT.
This License grants you a non-exclusive, non-transferable license to use the
Software only in one of the specific contexts as follows:
(i) Commercial Use.
If you have purchased a commercial License, the license granted herein allows
you to use the Software by one user on one computer at a time. You will obtain a
separate license for each additional user of the Software on your site. The
total number of concurrent users of the Software at one site may not exceed the
number of licenses granted to you for that site. Licensed users of the
Software may install one additional copy on a machine at home.
(ii) Evaluation Use.
An Evaluation Use License is hereby granted free of charge. The license granted
herein allows you to use the Software only for evaluation purposes for a period
of no more than 30 days from the date of installation.
(iii) Non-commercial Use.
A Non-commercial Use License is hereby granted free of charge. The license
granted herein allows you to use the Software only for personal, non-commercial,
non-business use or for use in a educational or training organization. Except as
noted in the previous sentence, the Software may not be used by a corporation,
or in any way to provide, or as part of, any commercial service or application.
The software may not be used for the benefit of any other person or entity.
(iv) Other Use.
Any use of the Software other than the uses specified in Sections 1(i) to (iii)
above requires a separate license from IndigoSTAR and the payment of additional
license fees as determined by IndigoSTAR. IndigoSTAR reserves all rights not
expressly granted to you.
The software is in use on a computer when it is loaded into the RAM or installed
into the permanent memory (e.g., hard disk or other storage device) of that
computer.
5. TRANSFER AND USE RESTRICTIONS.
You may not sell, license, sub-license, lend, lease, rent, share, assign,
transmit, telecommunicate, export, distribute or otherwise transfer the Software
to others. You may not modify, reverse engineer, decompile, decrypt, extract or
otherwise disassemble the Software. You may make only one copy of the Software
for archival or backup purposes.
3. TERMINATION
This License will terminate immediately without notice from the IndigoSTAR if
you fail to comply with any provision of this License Agreement. IndigoSTAR may
terminate this License immediately and without prior notice if you breach any
term of this License or for any reason whatsoever. In the event of any
termination or expiration, you agree to immediately destroy and the original and
all copies of the Software and any files created using the Software. You may
terminate this License at any time by destroying the Software and all copies
thereof.
4. INTELLECTUAL PROPERTY RIGHTS.
The software is licensed, not sold, to you. IndigoSTAR reserves all rights not
expressly granted to you. Ownership of the Software and its associated
proprietary rights are retained by IndigoSTAR and its licensors. The software is
protected by the copyright laws of Canada and the United States and by
international treaties. Therefore, you must comply with such laws and treaties
in your use of the Software. You agree not to remove any of IndigoSTAR’s
copyright, trade-mark and other proprietary notices from the Software.
5. LIMITED WARRANTY.
IndigoSTAR Software represents and warrants that the software and accompanying
files will operate and function as documented, and that IndigoSTAR has full and
sufficient right, title and authority to assign or grant the rights and/or
licenses granted under this License Agreement. IndigoSTAR further warrants that
neither the Software nor accompanying files infringe any intellectual property
rights or similar rights of any 3rd party and agrees to indemnify you for any
loss or damage related to a claim of infringement.
Except for these limited warranties, this software and the accompanying files
are sold "as is" and without warranties as to performance of merchantability or
any other warranties whether expressed or implied. Because of the various
hardware and software environments into which Perl2Exe may be put, NO WARRANTY
OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. Good data processing procedure
dictates that any program be thoroughly tested with non-critical data before
relying on it. The user must assume the entire risk of using the program.
8. LIMITATION OF LIABILITY.
Except for claims based on breach of the limited warranties or the indemnity
provided above, the liability of either party for claims arising under this
Agreement will be limited exclusively to the amount of fees paid under this
agreement.
11. ENTIRE AGREEMENT
This agreement constitutes the entire agreement between the IndigoSTAR and the
Licensee. If any provision is found to be invalid by a court of competent
jurisdiction, the balance of the provisions will remain in full force and
effect.
12. GOVERNING LAW
This agreement is governed by the laws of the Province of Ontario, Canada.