User to user discussion and support for UltraEdit, UEStudio, UltraCompare, and other IDM applications.

Help with setting up and configuring custom user tools in UltraEdit (based on command line input)
9 posts Page 1 of 1
How can I configure UE to launch PERL?

Thank you

Jim
First, create a tool under Advanced | Tool Configuration. On the dialog, enter the following:

Command Line: %N%E
Working Directory: %P
Menu Item Name: Run Perl Script
Check "Save Active File" and "Capture Output". Select "Output to List Box".

Be sure to hit the Insert button to insert your selections into the tool list.

Second, assign a hotkey at Advanced - Configuration - Key Mapping to appropriate command AdvancedUserToolx to quickly invoke the Perl script via the user tool.

Alternatively you could create also the macro

Code: Select all
RunTool "Run Perl Script"

and assign a hotkey to this macro. I assigned the macro to F12, but you could choose any key. The macro must be saved into a macro file (with other macros) which is configured to be automatically loaded on startup. The advantage of using a macro to run the user tool via hotkey is that the user tools can be re-ordered without the need to re-order also the hotkey assignments in the key mapping configuration dialog.

Assuming the perl installation directory is in your path, and you start your scripts with the line "#! /usr/bin/perl", it should work. (Note: I believe the only significant elements in that line are the "#!" and a path that ends in "perl". My actual directory in my path is "C:\Perl\bin", but this works for me!)

The output of the script goes to the Output Window, and if you get an error with a line number, you can double click on it to get UE to put you at that line.

Good Luck!
Dave and a path that ends in
A few comments from another perspective:

I use perl "%f" as my command line and don't rely on the shell to recognize the file type.

I normally have "Show DOS Box" selected. It's a little annoying at times, but it makes it much easier to kill the process if I borked something up in my script. Depending on what you're doing you may find "Replace Existing" preferable to "Output to List Box".

I have another tool called "Perl Lint" with the command line perl -Mstrict -Mdiagnostics -cw "%f". Very handy.

You can also launch the debugger with perl -d "%f". Make sure you have "Show DOS Box" selected for that one!

FYI -- you don't have to use a macro to launch user tools. I just use Ctrl-Shift-<#>.
Awesome and thank you!

Jim
Hi everyone!
I just downloaded the free trial of UEStudio and at the mo its pretty cool until I try and run the code (compile) it comes up with "no compile tool is associated with the file extension" tried the Help thingy trying to add a new compiler but still can not get it to work. I have all the perl stuff installed as I was using Padre and Komodo without any problems. Can anyone help please as this UEStudio seems exactly what I want and if I can get perl scripts to run in the output window then I will be buying it after the trial.

Thanks in advance.
Perl is an interpreted language, so there's no actual compiling. From a DOS command line, if the perl executable is in your path, you'd type:
Code: Select all
perl "path\to\script.pl"
and your script will run.

It's easy to set up a user Tool for this.

Using the menu system in UEStudio (or even UE), do:
Advanced->Tool Configuration
perltool.png
perltool.png (15.46 KiB) Viewed 4595 times

Under Menu item name you can type "Run Perl Script".
In the command line, give the full path to the perl executable, followed by a single space, then "%f" (be sure to place %f inside double quotes.) You can leave Working directory and Toolbar bitmap/icon empty if you like.

On the Options tab, Select DOS program, and check Save active file.
On the Output tab, check Capture output and select "Output to list box."
Replace selected text with: "No replace"

There you have it. If this is one of the first 10 user tools you have defined, then you can use a hotkey to activate it. Ctrl-Shift-0 through Ctrl-Shift-9. They will be listed at the bottom of the Advanced menu item.

Of course, you have to have perl installed on your system in order to do this. I use XAMPP for my development, and it comes with perl, so I was able to easily point to "C:\XAMPP\perl\bin\perl.exe" as the executable.
I was referred to this thread by Mofi, who replied to the thread I started which is already deleted. At Mofi's request, I am posting what I did here. I used the following Tool Configuration settings so that I could see the output of my perl script, including error and warning messages, in a command window, and pause the window so I can read the output before closing it manually (key press):

Tool Configuration

Command
Code: Select all
   Command Line: 
      UEPerlTool.bat "%f"
   Working Directory:
      %p

Options
Code: Select all
   Dos Program

Output
Code: Select all
   Command Output (DOS Commands)
   Output to List Box
   Show DOS Box
   No Replace

These are the only settings I checked off. All other ones are unchecked.

UEPerlTool.bat:
Code: Select all
   @echo off
   "Path\to\perl.exe" %*
   echo.
   pause

Using the batch file was Mofi's suggestion. Note that you need to have the .bat file in your %path% or else include the full path in quotes on command line of the user tool.

I created a macro as above with a shortcut key. It works well. One key combination saves having to <alt>-<tab> to a command window, <up-arrow>, <enter>, go back to UE. Nice.
Assuming the perl installation directory is in your path, and you start your scripts with the line "#! /usr/bin/perl", it should work. (Note: I believe the only significant elements in that line are the "#!" and a path that ends in "perl". My actual directory in my path is "C:\Perl\bin", but this works for me!)
abby741 wrote: Assuming the perl installation directory is in your path, and you start your scripts with the line "#! /usr/bin/perl", it should work.

The shebang (#!) line is processed by the shell on Unix/Linux systems. It is not recognized by Windows.
9 posts Page 1 of 1