<meta http-equiv="Content-Type" content="text/html; charset=utf-8">Thanks. That resolved the issue.Thanks for the quick response On 24 Sept 2024 11:37, Jan Ploski <jploski@users.sourceforge.net> wrote:The parser is not perfect. It seeems to be tripping up on the $batchCnt++ / part specifically.. You could help it by adding parentheses, i.e. write ($batchCnt++) / instead. Incorrect formatting for List::MoreUtils - part BLOCK LIST Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/e-p-i-c/discussion/258688/...
The parser is not perfect. It seeems to be tripping up on the $batchCnt++ / part specifically.. You could help it by adding parentheses, i.e. write ($batchCnt++) / instead.
Hello, I have a problem when this code is being used. the syntax highlighting shows the text in purple rather than show the proper highlighting. use List::MoreUtils qw(first_index part ); my (@finalOutputLst) = 1..9l my ($batchCnt) = 0; my ($batchSize) = 3; my (@allPartLst) = part { int( $batchCnt++ / $batchSize ) } @finalOutputLst; The problem seems to be the / - it is being interpretated as the start of a regular expressions rather than for a divider. Any help would be appreciated before I raise...
Hi Jan, thanks a lot!
I suppose this could be achieved by using a wrapper script for the Perl interpreter (the "Perl executable" in EPIC Preferences). The wrapper could check the command line arguments (specifically for -c), set the enviornment variable if compilation is detected, and then invoke the real Perl interpreter.
Hi Jan, thanks a lot for your reply. This sounds like a possible workaround, but I would rather want to have such a variable defined only when the script is syntax checked, so that not every user of my app has to define the variable on his system. But I guess this is also not possible.
There is no option to avoid running BEGIN blocks. Running these blocks is generally essential for "syntax checking" (actually: reporting compilation errors) to be accurate. If you wish to avoid running certain parts of code in BEGIN block, perhaps you can work around by defining some environment variable (only at actual execution time of the script) and checking for it in inside of the (always executed) BEGIN block.
I have a Perl/Tk application that uses a splash screen (this is a "greeting" window that opens, before the actual application window opens). This splash screen relies on a BEGIN block in my main Perl file. Now if EPIC does the syntax checking in this file it always opens the splash screen and then a dialog appears that the Perl interpreter stopped working. This happens any time I edit something in this file, which is quite annoying and actually prevents me from editing this file in any sensible way....
Thanks for the suggestion, but there is very little (almost no) development going on in this project. Also, I do not like "organizations" (but you are of course free to fork and join the organization then).
Transfer source code to the Perl-IDE GitHub organization?
External content assistant
A prototype implementation is now included in testing 0.7.9. See description in User's Guide and https://github.com/jploski/epic-ide/blob/testing/org.epic.perleditor/src/org/epic/perleditor/editors/util/ExternalAutoComplete.java
External content assistant
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <link rel="stylesheet" type="text/css" href="https://defaria.com/maps/css/MAPSPlain.css"> <title>MAPS Registration</title> ATTENTION: Your email has not yet been delivered!!! To send your email click on the button below and type your name Click Here That's it! You will be added to my whitelist, your previous email(s) will be delivered as well as all future emails. Sorry for the inconvenience. For more information about this click...
actually this is very annoying and contra-productive because you loose your current editing position and your package name is erased.
On how to reproduce it. 1) open your module with outline 2) expand the outline 3) click on the outline to find a module method 4) hit tab or enter to edit the source code -> result: the outline is collapsed, the cursor jumps to the package name and the package name is marked. recovery: use the last edit mark to refind your editing possition. do not use the outline to navigate back
Once again, thank you for the hint. Since I am now using a custom perl5db.pl instead of the one patched by EPIC, I had to add the patch line: { use epic_breakpoints; ... Now it seems the workaround is functional ! Thanks!
Do you experience the "breakpoints ignored" issue in "Hello world" or in some more complex situation. The "breakpoint ignored" issue usually comes down to paths of files as expected by EPIC (and as set up for breakpoints when perl -d is launched) and the paths of files as reported by "perl -d" not matching (despite normalization attempts). How Perl reports appears seems to depend on how the modules are included (e.g. use/require with absolute/relative paths or using @INC with module names). You can...
Thank you for this, with a custom perl5db.pl the EPIC debugger seems to work... I can step into the code and over subroutines but... my breakpoints are ignored :( Any idea why that would happen? The PERLDB_OPTS line looks like this: $ENV{PERLDB_OPTS} = "RemotePort=127.0.1.1:5000 DumpReused ReadLine=0 PrintRet=0"; I have is perl 5, version 32, subversion 1 (v5.32.1)
You can work around this issue by introducing a custom perl5db.pl which overrides the PERLDB_OPTS environment variable passed down from EPIC (e.g. replacing the ip address by 127.0.0.1). Whenever you start EPIC in debug mode, it copies the perl5db.pl file from your local Perl installation, patches it up and copies the resulting file to $ECLIPSE_WORKSPACE/.metadata/.plugins/org.epic.debug/perl5db.pl. This version is then normally used to run the debugger. But if you copy this patched up perl5db.pl...
The hostname doesn't change by starting the VPN. I have tested that new entries added to the hosts file are working fine, except for the hostname which is always resolved differently (i.e. any hosts file entry with the hostname is ignored)
Maybe the hostname changes when you connect to VPN? What does "hostname" report at command prompt before/after connecting?
yes, unfortunately that's ignored
Have you tried adding an entry which maps your hostname to 127.0.0.1 to the Windows hosts file?
Debugger: Unable to connect to remote host / multiple host addresses
Debugging of forks is broken
I see there is separate Feature Requests. So this should be moved to that category (I don't see such option).
Go to Matching Bracket
"perl debug output displayed on console pane" - perhaps because "Preferences > Perl > Enable debugger console (experimental)" is still enabled?
Jan et al, Resolved: (or at least root cause identified). It turns out that this issue only occurs when I am connected via VPN to the company's host network. When 'offline' the Perl debugger is enabled. Thank you for your input/advice. On to the next issue: perl debug output displayed on console pane...hopefully I'll fix that soon On Thu, Aug 5, 2021 at 5:10 PM Jan Ploski jploski@users.sourceforge.net wrote: Are we talking about a "Perl Local" or "Perl Remote" launch configuration here? Is 10.0.0.76...
Are we talking about a "Perl Local" or "Perl Remote" launch configuration here? Is 10.0.0.76 the IP of your host? Are you able to listen on 10.0.0.76:5000 and connect to it yourself (you said you can't install netcat, but maybe with a Perl script)?
Sorry - I typed manually: Actual value PERLDB_OPTS=RemotePort=10.0.0.76:5000 DumpReused ReadLine=0 PrintRet=0 netstat does not show port 5000 in use On Thu, Aug 5, 2021 at 4:42 PM Jan Ploski jploski@users.sourceforge.net wrote: Can't be, the RemotePort must also include an IP address (or at least a colon before the port number). And you should check with netstat -a whether that IP address and port number are being listened on (when you launch the debug session). Error: Could not connect to debug...
Can't be, the RemotePort must also include an IP address (or at least a colon before the port number). And you should check with netstat -a whether that IP address and port number are being listened on (when you launch the debug session).
From the .log file PERLDB_OPTS=RemotePort=5000 DumpReused ReadLine=0 PrintRet=0 Regards
You can see PERLDB_OPTS by first checking Preferences > Perl > Enable debugger console (experimental). Then when you launch the debug session, an entry is added to the "Error Log" view (if your Eclipse has it) with the perl -d command line and environment variables, among them PERLDB_OPTS. If you don't have Error Log, the same information is written to file ...path-to-workspace/.metadata/.log
Jan OK. How do I display PERLB_OPTS? The debug fails as soon as it is initiated. I cannot run netcat - I do not have authority to install unauthorised s/w on my work laptop On Wed, Aug 4, 2021 at 1:07 PM Jan Ploski jploski@users.sourceforge.net wrote: Take note of the PERLDB_OPTS environment variable passed to the perl -d process when you start the debugging session. In the original poster's example PERLDB_OPTS=RemotePort=192.168.0.101:5000 DumpReused ReadLine=0 This means that the perl -d subprocess...
Take note of the PERLDB_OPTS environment variable passed to the perl -d process when you start the debugging session. In the original poster's example PERLDB_OPTS=RemotePort=192.168.0.101:5000 DumpReused ReadLine=0 This means that the perl -d subprocess will try establishing a TCP connection to 192.168.0.101:5000, which is where the EPIC IDE should be listening for it. Check with netstat -a that the port is indeed being listened to (once you launch a debug session) and that the IP address being listened...
This issue reoccurred on my latest install of Eclipse and e-p-i-c plugin Eclipse 2021-06 and plugin version 0.7.x I was given (by my employer) a new laptop. I installed identical s/w on my new that was on my previous (Strawberry Perl, Eclipse and plugin). OS and network settings identical, no difference in Antivirus (AV was disabled for a period while I did a troubleshooting test, along with connection to open network) I have review all previous posts (SF etc) on this topic, reviewed CWD.pm, checked...
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <link rel="stylesheet" type="text/css" href="https://defaria.com/maps/css/MAPSPlain.css"> <title>MAPS Registration</title> ATTENTION: Your email has not yet been delivered!!! To send your email click on the button below and type your name Click Here That's it! You will be added to my whitelist, your previous email(s) will be delivered as well as all future emails. Sorry for the inconvenience. For more information about this click...
The collapse may not be that random. Observing things I noticed that it definitely happens sometime after modification of the file in question. For example, I was re-arranging my subroutines in a Perl module to be alphabetic. I would look at the outline view, which presents the subroutines in alphabetic order, locate the next sub to be moved, select it and put it in place. I first noticed that the subroutine lacked the little widget that would allow you to collapse it. I thought it strange. Then...
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <link rel="stylesheet" type="text/css" href="https://defaria.com/maps/css/MAPSPlain.css"> <title>MAPS Registration</title> ATTENTION: Your email has not yet been delivered!!! To send your email click on the button below and type your name Click Here That's it! You will be added to my whitelist, your previous email(s) will be delivered as well as all future emails. Sorry for the inconvenience. For more information about this click...
Outline view collapses are random times
I agree - could you examine it more closely and remove the offending view?
Ping... In the easiest case, simply don't use that view anymore, but the default Project Explorer instead. It looks good enough to me.
Error when invoking POD checker
Hi, When I create a new Win32::OLE automation object and assign it to a variable, say $xl, a blank line appears in the Variable view but it does not show the variable. Conversely, if I use the perl debugger on the command line, I can dump this variable easily. I must be doing something wrong. I've googled for similar issues for hours. I installed PadWalker to no avail. Why can't I see these objects in Eclipse? I've selected to view local and global variables For the sake of interest, the following...
Hi All -- Pretty sure this is a Noob question, but I haven't been able to find the answer anywhere. When I launch the debugger on my perl project in Eclipse, the debugger stops at the first line, and the only way I can move forward through my code is with the Step Into or Step Over commands. Is there a Default I need to set somewhere so that when I launch the debugger, it runs to the first breakpoint? Thanks for your help.
"Perl Auto Builder" doesn't work anymore with Eclipse 2020-09
Fixed in EPIC testing 0.7.8.
Garbled utf8 lexical variable names in Variables view
perl debugger crashes
Problem was at my end - better use of the tools fixed the issue. Please close.
"Perl Auto Builder" doesn't work anymore with Eclipse 2020-09
Haven't done that - looking at the perl5db.pl at that section it's their crash handler {=head2 C<dbdie> The debugger's own C<$SIG{DIE}> handler. Handles providing a stack trace by loading C<carp> and calling C<carp::longmess()> to get it. We turn off single stepping and tracing during the call to C<carp::longmess> to avoid debugging it - we just want to use it.</carp::longmess></carp::longmess()></carp></dbdie> If C<dielevel> is zero, we let the program being debugged handle the exceptions. If it's...
Haven't done that - looking at the perl5db.pl at that section it's their crash handler {=head2 C<dbdie> The debugger's own C<$SIG{DIE}> handler. Handles providing a stack trace by loading C<carp> and calling C<carp::longmess()> to get it. We turn off single stepping and tracing during the call to C<carp::longmess> to avoid debugging it - we just want to use it.</carp::longmess></carp::longmess()></carp></dbdie> If C<dielevel> is zero, we let the program being debugged handle the exceptions. If it's...
Have you looked at what's in the perl5db.pl file (which EPIC derives from the one found in your Perl installation by applying a patch)? IIRC, perl5db.pl is overwritten each time when EPIC starts a debugging session, but you can copy it elseswhere and put that directory in front of the project's Perl include path so as to override it with your own version (and then insert into it some commands like debugging output to some file, to understand what's going on around that fatal "line 8675").
PadWalker 2.3, XML::LibXML 2.0205 (just updated a touch - no change).
perl debugger crashes
Hi all, I am new so apologies if I have put in the wrong place. I use Epic Perl debugger a lot, and I recently created a program that forked - the debugger seemed to like it but the child jobs never retruned as complete. After a bit of digging it appears this is due to windows spurning the children as "threads" and giving them a negative pid - exactly what my process output is saying. What I can find is how to handle and fix this. Can anyone shed any light at all? Any help/assistance greatly appreciated....
Hi, I have not experienced your issue, with various versions of Perl and EPIC, all on Windows 10. I have not tried to run your program, but here are a few items you could try. The first line sets a variable you can use to conditionally execute code while running under EPIC. my $running_with_debugger = 1 if ($ENV{PERLDB_PIDS} eq $$); # $$ is the process ID of the current perl script STDOUT->autoflush(1); # To make sure messages are not printed out of order STDERR->autoflush(1); # To make sure messages...
Well, so $\ = "\n" it is. (Why) do you need it? The short answer is because I do. I might point out that, in the meantime, I've been using Devel::ptkdb which doesn't have this limitation. It seems strange to have to write code around the debugger's tastes. It should at least be documented so the writing-around can be accomplished. Are there any other debugger preferences that I should be aware of? I'd also suggest you use the JSON::XS module for JSON parsing Everybody's a critic :) I'm sure JSON::XS...
It's the part $\ = "\n"; which messes it up. (Why) do you need it? (I'd also suggest you use the JSON::XS module for JSON parsing.)
FWIW: I have PadWalker 2.3 installed.
Umm, that didn't get formatted well. Not sure how to get the vertical bars to display,
The debugger consol is displaying the value. use strict; use JSON::Parse ':all'; $\ = "\n"; $,= ' '; my $jsonFile = "/tmp/odds.json"; my $prl = json_file_to_perl ($jsonFile); Debug Console output: 15: my $prl = json_file_to_perl ($jsonFile); DB<10> ;{ do 'dumpvar_epic.pm' unless defined &dumpvar_epic::dump_lexical_vars; my $offset = 0; my $savout = CORE::select($DB::OUT); dumpvar_epic::dump_lexical_vars($offset); CORE::select($savout); }; 9 $jsonFile 1 1 17 SCALAR(0x2437ec8) 16 '/tmp/odds.json' 2...
I just tried with a similar configuation (freshly compiled Perl 5.28.1, PadWalker 2.3, Eclipse 2019-06), and it works for me. Is the error displayed for any code or something very specific (the error may have to do with unusual content of variables to be dumped)? Any clues if you "Enable debugger console (experimental)" in Preferences > Perl? (The additional console will become available from the Debug view when you relaunch the debug configuration.)
Can't view variables when debugging
EPIC (for Perl integration with Eclipse) plugin incompatible with Eclipse IDE 2019-12
The Navigator View is scheduled for removal by Eclipse after August 2021.
Let the user optionally use another version of Perl::Tidy
It looks like qw ( LIST ) works properly always, but qw / LIST / works properly only if the LIST contains odd number of entities. Furhtermore, qw /:standard/ doesn't work, althought the LIST contains just odd number of entities, however qw / strftime/ works fine, as well as qw /+conns/, so in this particular case the : character seems to be the one that cause the problem.
Some observations: works properly: use Encode qw / encode_utf8/; works properly: use Encode qw ( encode_utf8); doesn't work properly: use CGI qw /:standard/; works properly: use CGI qw (:standard); doesn't work properly: use HTTP::Request qw / /; works properly: use HTTP::Request qw ( ); doesn't work properly: use HTTP::Request::Common qw / GET POST/; works properly: use HTTP::Request::Common qw ( GET POST);
Formatting of `qw` is not working as expected
If the code is written as $data{'flag'} = ($@) ? flag_post : (flag_post | flag_data); then there is no problem with formatting, so I assume the problem is in recognision of $@ variable.
If the code is formatted as $data{'flag'} = ($@) ? flag_post : (flag_post | flag_data); then there is no problem with formatting, so I assume the problem is in recognision of $@ variable.
Incorrect syntax formatting
qq#string# is not supported
this is the EOF end screenshot
wrong sytax highting when here documents is too long
Hello, I am quite new to Perl. I work under Eclipse with EPIC, Strawberry Perl & PadWalker under Windows10. When I run Debug with breakpoints, The programm stops well if the breakpoints are in the main function, but does not if breakpoints are in functions belonging to other modules. Any idea how to solve that problem? Thank you for your help Alex
STDERR is not showing in console during debugging
I'm somewhat sure to have installed EPIC from the marketplace some months ago and there's a page available: https://marketplace.eclipse.org/content/epic-eclipse-perl-integration#group-details But now, the marketplace client within Eclipse can't find it anymore. Any idea about the problem?
I'm somewhat sure to have installed EPIC from the marketplace some months ago, but now I can't find it there anymore. Has it ever been published there? If so, any idea what could be the problem now?
Sorry, ignore the second regex, it works fine. The problem is only the first "/".
Syntax highlighting broken after some special chars
I've notices this coloring issue. It makes the all file unreadable and brakes outline view. I'm using EPIC for more than 6 years now. I love Eclipse so thanks a lot for EPIC editor.
Ouch, I now see that you mentioned Perl 5.6 - this is 18 years old by now... Yes, you should use a more recent Perl version.
Ok, I got it! Can't locate Encode.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at Perl/Tidy.pm line79. It seems that my Perl installation is missing the Encode module. I've tried another Perl version (just an old test installation 5.14.x) in which the module exists and et voila it works! Now I need to convince my IT admins to release a newer version with the module, but this is not your problem. Please close this ticket. Many Thanks for your help Andreas
Ok, I got it! Can't locate Encode.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at Perl/Tidy.pm line79. It seems that my Perl installation is missing the Encode module. I've tried another Perl version (just an old test installation 5.14.x) in which the module exists and et voila it works! Now I need to convince my IT admins to release a newer version with the module, but this is not your problem. Many Thanks for your help Andreas
You are probably in wrong directory. You're supposed to "cd \Projects\Perl.metadata.plugins\org.epic.perleditor\perlutils" first and then run the "C:\Perl\bin\Perl.exe" perltidy params < sourcefile.pl from there.
Hmm, ... It looks like perltidy can not find the Tidy.pm module in the Perl subfolder. "C:\Perl\bin\Perl.exe" "C:\Projects\Perl\.metadata\.plugins\org.epic.perleditor\perlutils\perltidy\perltidy" "-q" "--indent-columns=4" "--maximum-line-length=200" "--opening-brace-on-new-line" "--line-up-parentheses" "C:\Projects\Perl\PTests\ptest_FnkCall.pl" Can't locate Perl/Tidy.pm in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at C:\Projects\Perl\.metadata\.plugins\org.epic.perleditor\perlutils\perltidy\perltidy...
I also tried to get around this by setting the .perltidyrc into my project root folder but this neither helped.
Try running that comand line yourself from the cmd.exe prompt, after changing to the working directory mentioned in my first reply and piping the source file to be formatted as standard input. It may be that perltidy is aborting for some reason, perhaps because of the content of your source file. Does it work with other ("Hello world") files?
Thank you for your quick answer. Try specifying an aboslute path to Perl executable in Window > Preferences > Perl. Check workspace/.metadata/.log if it contains more details about why the exectuion failed. Sadly after setting an absolute path the error stays the same. Here is excerpt for my log file: !ENTRY org.epic.perleditor 4 0 2018-11-14 15:03:00.126 !MESSAGE Failed to execute command line: "C:\Perl\bin\Perl.exe" "perltidy" "-q" "--indent-columns=4" "--maximum-line-length=200" "--opening-brace-on-new-line"...
Try specifying an aboslute path to Perl executable in Window > Preferences > Perl. Check workspace/.metadata/.log if it contains more details about why the exectuion failed. What's supposed to happen when you invoke the Source > Format function is that the command line you quoted as failed is executed in working directory workspace/.metadata/.plugins/org.epic.perleditor/perlutils/perltidy - into which the perltidy version shipped with EPIC is extracted beforehand.