[ic] Can't use global @_ in "my" - authorize.net problems

Craig A. Carman webmaster@seeshopgo.com
Sun, 6 May 2001 18:36:21 -0500


My problems are accumulating.  I started out Friday with my new authorizenet
account info to set up set up credit card processing in interchange 4.6.4
which was working well until my changes.  I am happy to preface this request
for help with: I don't pretend to be a perl programmer, I have made great
effort to read every post to this list for the last 2 months, I read through
the docs (much went over my head) and have spent more than 10 hours since
Friday searching for self help options in the list archives.  I am stuck
without a solution and a dysfunctional shopping cart.  The checkout page now
returns a page not found error.

I followed Mike Heinz instructions in authorizenet
     1. Modify interchange.cfg to use this file.

     #include globalsub/authorizenet

     2. Modify catalog.cfg to set the server and your Authorize.Net account
info

     # Username and password
     Variable MV_PAYMENT_ID      YourAuthorizeNetID
     Variable MV_PAYMENT_SECRET  YourAuthorizeNetPassword
     Variable MV_PAYMENT_MODE    custom authorizenet
     Variable MV_PAYMENT_REFERER A valid referering url (match this with
your setting on secure.authorize.net

     3. Make sure CreditCardAuto is off (default in Interchange demos)
     4. Restart Interchange.

First, I got errors regarding "bad globalsub" I found archives that led me
to use MCPAN to update Bundle::Interchange and get Net::SSLeay.  That
exercise was quite impressive to me and seemed to work properly even though
I didn't know (for sure) what I was doing.  I was getting the following
error but these updates have eliminated the error but not solved the
problem.  No longer getting any errors.

209.205.191.97 jF4uH7y7:209.205.191.97 - [04/May/2001:18:58:07 -0500] sell
/cgi-bin/sell/admin/genconfig.html Can't read file
'/var/lib/interchange/sell/etc/status.sell' with NoAbsolute set

I found an archive that suggested an authorizenet testing procedure that
said:
++++++++++++++++++
    3. Test your authorizenet module as follows:
       - create a copy
       - edit the copy to remove the globalsub <<EOF line
         and the EOF line near the bottom
       - run perl against the module:
            perl testfilename
       - fix any errors in the module. Install any perl
         modules that are called for.
       - make the same fixes to your actual authorizenet
         file
       - try again

    Step 3 was the one that showed me my problems. If the
        globalsub does not compile properly, for any reason,
        you will get the "BAD GLOBALSUB" error. So, find the
        errors and fix them.
++++++++++++++++++
When I do that my results are as follows:
[craig@shop globalsub]$ ls
authorizenet  authorizenettest
[craig@shop globalsub]$ perl authorizenettest
syntax error at authorizenettest line 35, near "sub authorizenet "
Can't use global @_ in "my" at authorizenettest line 36, near "= @_"
BEGIN not safe after errors--compilation aborted at authorizenettest line
154.
[craig@shop globalsub]$

line 35 and line 36 are:
sub authorizenet {
 my ($user, $secret, $amount) = @_;

line 154 is:
    use Net::SSLeay qw(post_https make_form make_headers);

HELP!  I don't have any clue what to look for next.
What can I do to fix the checkout page and how did globalsub/authorizenet
disable me?
Should I scrap all my customizing efforts on "construct" and delete it all
to try new version 4.7.1?

Thanks for any help,
Craig Carman
http://shop.seeshopgo.com
Toll Free 1-866-342-7467 M-F