Friday, January 14, 2005
Pressure
I do not handle stress well.
Wednesday was bad.
Yesterday wasn't that bad, but I fell asleep almost immediately upon coming home, and still managed to get up late.
Today is bad.
As if osCommerce wasn't bad enough (that site … how can anybody use that site? It's the most horribly designed site I've come across) I now get to debug the Dansie Shopping Cart.
Woot!
Only 102 warnings when run with /usr/bin/perl -w
(and since
perl
spits out those warnings when the script runs, it confuses
Apache).
Running it without the warnings option gives me:
": No such file or directory
I also like this bit:
# May not be used without purchasing a license. Do not attempt to run this # script on a site other than which it was licensed for. # Modification of this script other than: # 1. Adjusting the perl path in the first line above. # 2. Or setting the $vars variable below. # May void your right to technical support and subject you to legal action.
And the customer is upset because she paid for this and she doesn't understand it worked on four other servers and why can't I fix it and … and … and … and …
According to this, I can't debug their 4,000 line script (technically, it was one line; all the formatting had been removed to protect the guilty) without subjecting her to possible legal liability and voiding her warrentee.
The conversation went downhill from there.
The upshot: the customer doesn't care—she wants it working.
So I get the job of debugging some wonderful perl code.
I'm ready to run screaming towards the hills
I'm attempting to debug the shopping cart from hell. I finally got rid of the warnings, and the script is generating the following:
Set-Cookie: shopper_id=91548; path=/;
Content-type: text/html
<HTML>
…
But Apache still
doesnt' like it. I poke around and fine a test.pl
script:
#!/usr/bin/perl print "Hello world\n";
Okay. I can build on this, adding stuff to see what Apache might be
complaing about. I run this script from the command line and get “:
bad interpreter: No such file or directory
”.
Excuse me?
# which perl /usr/bin/perl # more test.pl #!/usr/bin/perl print "Hello world\n";
Huh?
I write my own version of this:
#!/usr/bin/perl print "Hello world\n";
And it worked.
Okay, probably some invisible character in test.pl
that's
giving the perl interpreter fits. Delete #!/usr/bin/perl
and
retype it.
: bad interpreter: No such file or directory
Much mucking around later (and remember, this is a side trek from what
I'm supposed to be doing—debugging some comercial perl script) I find out
that not only is test.pl
in the Microsoft text format,
but that the version of vi
(vi!
) I'm using
is “smart” enough to deal with the Microsoft text format and keep the
file in that format!
XXXX this, I'm going home.