Tapatalk

Launching PERL

Launching PERL

jfrailey

PostJul 11, 2005#1

How can I configure UE to launch PERL?

Thank you

Jim

261
Basic UserBasic User
261

PostJul 12, 2005#2

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

1182
Power UserPower User
1182

PostJul 14, 2005#3

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-<#>.

jfrailey
jfrailey

PostJul 17, 2005#4

Awesome and thank you!

Jim

1
NewbieNewbie
1

PostJun 12, 2012#5

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.

2362
MasterMaster
2362

PostJun 12, 2012#6

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 (15.46KiB)

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.

1
NewbieNewbie
1

PostFeb 12, 2013#7

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.

1
NewbieNewbie
1

PostJan 21, 2014#8

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!)

1182
Power UserPower User
1182

PostMar 31, 2014#9

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.