|
Long ago I tried to install Perl, my god what a mess! removed it the same day from my PC
|
|
|
|
|
Are you sure it's gone???!
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Does not matter, it's on an old notebook gathering dust in the attic
|
|
|
|
|
I agree … this is rather horrifying, and knowing nothing about … ooops ...[EDIT]Pearl Perl [/EDIT], I dare to ask for evidence of this … . Where can I see the result ?
modified 24-Jan-19 14:33pm.
|
|
|
|
|
|
Indeed, thanks ... I should think about this , I will try to collect the evidence of this abomination ,
BR
|
|
|
|
|
It reminds me of some crazy things you can do in JavaScript.
obfuscation - What are JavaScript's builtin strings? - Stack Overflow[^]
For example, paste the following JS into a jsfiddle and run it:
alert([[]+1/!1][1^1][1>>1]+({}+[])[1<<1^11>>1]+(
[]+!!-[])[1<<1]+[/~/+{}][+!1][-~1<<1]+[([]+/-/[(
!!1+[])[1>>1]+(!!1+[])[1<<1^1]+(!1+[])[1|1<<1]+(
!!1+[])[1^1]])[1+(1^(11+1+1)<<1)],([]+/-/[(!!1+[
])[1>>1]+(!!1+[])[1<<1^1]+(!1+[])[1|1<<1]+(!!1+[
])[1^1]])[1^11<<1],([]+/-/[(!!1+[])[1>>1]+(!!1+[
])[1<<1^1]+(!1+[])[1|1<<1]+(!!1+[])[1^1]])[1^(11
+1+1)<<1]][((([]+/-/[(!!1+[])[1>>1]+(!!1+[])[1<<
1^1]+(!1+[])[1|1<<1]+(!!1+[])[1^1]])[(1<<1<<1<<1
)+1<<1]==({}+[])[1^1])*1)+((([]+/-/[(!!1+[])[1>>
1]+(!!1+[])[1<<1^1]+(!1+[])[1|1<<1]+(!!1+[])[1^1
]])[(1^11<<1)-1]==({}+[])[1^1])<<1)]+([,][~1]+[]
)[1-~1]+[[]+{}][!1.1%1][11111.1%11.1*111e11|!1]+
(/1/+1/[1<1][1%1])[1^11]+[[],[]+{}][1][+1]+(/<Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
modified 11-Apr-19 8:46am.
|
|
|
|
|
|
Ya, somebody was bored and drank too much caffeine to figure that one out.
Everyone is born right handed. Only the strongest overcome it.
Fight for left-handed rights and hand equality.
|
|
|
|
|
How much coffee could that be? I guess I couldn't drink that in a year...
while (!drunkenByCoffee( )) { ++; }
|
|
|
|
|
|
It's just the initials of some keywords, from which the output gets built (hex alarm chdir kill exec return --> hacker).
|
|
|
|
|
I used to do Perl, back when it was all the rage for web development.
Fun to write, an absolute nightmare to maintain. You can do just about anything with one line of code, except read it later.
|
|
|
|
|
Yeah, but it can be really useful too. Back in the 80s I wrote a perl script that took all the list files (Comadore Amiga 68000 assembler) from a project and combine them into a single list file that had the absolute address for all the instructions. The original list files all started at zero so they weren't really very helpful when trying to debug.
I use to use perl fairly regularly (I'm retired now) to make support routines for my projects. My per scripts are very C like since, as an embedded engineer, I pretty much did all my programming in C/C++ (at least for the last 25 years or so).
|
|
|
|
|
English is still more crazy:
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo - Wikipedia[^]
#SupportHeForShe
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
Languages I've used commercially or non-commercially (written at least a few lines of code).
C
C#
C++
Eiffel
F#
Fortran
Go
JavaScript
PL/SQL
Pascal
Perl
Powershell
Python
Q#
Solidity
TypeScript
VB
VB.NET
VBA
VBScript
Perl is the most unpleasant of the lot, although I admit it's very good at what it does.
Kevin
|
|
|
|
|
php can be almost as unintelligible.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
NMo, I'd say that Perl programmers are crazy. and I've dabbled in nPerl, it's sometimes useful. But PhP suites my needs better.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
I'm working on a prototype for a friend.
We're attempting to turn a leadership exercise / game into an automated thing.
Basically you have 5 people who each take a character type (barbarian, elf, thief, wizard or leader) and attempt to make it through a 36 room dungeon.
It's currently played on posterboard with some real tokens so we are keeping it very simple.
"I could write that up for you as an HTML5 Canvas game," said I.
And so it began.
I draw a grid of 6x6 (36 rooms).
I put in the obstacles users cannot see.
I allow them to move their tokens.
Things are going along swimmingly in JavaScript and I'm generating functionality quickly.
It's only 1000 lines of code. (That's like 4 printed pages. Not bad.)
Suddenly I have this bug. It's on line 238 and tells me "room does not have a constructor" and it only occurs if I move a token and then restart the game. What!?!
It looks like the following:
gameVars.allRooms.push(new room({location:i}));
Line 238 has not changed in many iterations (I'm using Git so I can tell).
new room({location:i}) just sends in a json object which is used to initialize the object.
It's quite simple.
But finding the bug is very difficult. After hours of picking it apart line-by-line I find a line of code I suspect that is down in another function and shouldn't affect anything.
It's way down on line 756 and the compiler has never said anything about it:
function playerMovementHandler(playerTokenIdx){
var output = document.getElementById("output");
var currentPlayer = gameVars.allPlayers[playerTokenIdx];
room = hitTestRoom(currentPlayer,gameVars.allRooms);
Do you see that? I accidentally didn't type var .
Sure it seems obvious now.
If I had named that room variable anything else (different from the name of the function/class) it wouldn't have ever hurt me either. But, but, but... JavaScript compiler why couldn't you have mentioned it? Maybe if I'd had strict enabled or something. It's me shooting myself in the foot, I know.
Here's The Terrible Explanation
But the deal is that in this case the JavaScript compiler was redefining my room class (which are functions in JavaScript) using the hitTestRoom() function instead of just calling the hitTestRoom() function and returning the room object.
So, when I would restart the game after moving a game token the code would return to the top with the room class redefined and when it did it would hit line 238 and say, "there's no constructor for that object". Oy!
It's so terrible that it tried to think for me. It's so terrible that it didn't give me a compiler warning for redefining the room class.
It's so terrible that I didn't type var there.
It's so terrible that in my prototype I used the same name variable as the name (room) of my function and so it was easier for JavaScript to redefine my original function to be something else.
It's so terrible that nothing pointed to this line of code and I had to sift through it line by line.
But, I guess I'm a better dev for it.
What don't kill you makes you stronger, right? Right?
As soon as I prefixed that item with var the problem was solved.
I know it seems stupid in retrospect, but again this is just a prototype.
|
|
|
|
|
'options strict';
Sounds like the only thing terrible in your story is the programmer
But seriously, it's pretty terrible.
|
|
|
|
|
Yeah, I was bad. But, JavaScript was terrible too.
I think the odd error "room is not a constructor" was terrible too.
|
|
|
|
|
Sander Rossel wrote: 'options strict';
Doh!
I just tried your 'options strict'; at the top and I set the bad code back (removed var) and it didn't do anything.
Same error
"room is not a constructor"
Oh, it looks like options strict is a Visual Basic thing. You've outed yourself! You're a VB Dev aren't you?
So I looked it up and found this:
JavaScript "use strict"[^]
I added "use strict";
and now it gives me warnings about undefined items.
I think it has changed.
modified 8-Jan-19 16:38pm.
|
|
|
|
|
Oops... Option Strict is indeed a remnant from my VB days...
|
|
|
|
|
Sander Rossel wrote: Oops... Option Strict is indeed a remnant from my VB days..
That's funny. Don't tell, but I've got VB 1.x then 4.x,5.x,6.x in my background too. Shhhh....
|
|
|
|
|
Same here, but I must confess. I still have VB 6.0 in a VM at home. I keep it for nostalgia reasons. Back in the 90's, I had several award winning pieces of software. Still have the code and can still make changes.
When you are dead, you won't even know that you are dead. It's a pain only felt by others.
Same thing when you are stupid.
modified 19-Nov-21 21:01pm.
|
|
|
|