On Wednesday, May 15, 2002, at 01:35 , Hanson, Robert wrote:

> What is the error?
>
> Rob

I agree with rob - the error message would help.

[..]
> I am trying to write a package that will execute a sql statement for me in
> my cgi pages, the following is the code for the package, but when I run it
> at the command prompt I get error messages about the first line where I 
> set
> the $dsn. I think the problem is with the  use of DBI. The sql that I pass
> to this package does not get executed. I call the package on my cgi page
> with:
>
> $s = GetRecords->Execute_SQL($sql);

I fear I know the problem here.....

I am not sure we are talking 'package' in the same sense

        #!/usr/bin/perl -w
        use strict;

        my ($spot, $dog, $colour) = qw/dog big brown/;

        print "had $spot, $dog, $colour\n";

        $colour = JoeBob->doBob($spot, $dog);

        print "\ngot $spot, $dog, $colour\n";

        package JoeBob;


        sub doBob {
                my ($val, $friend ) = @_;

        print "SUB: $val => $friend" ;

        my $retval = "$friend :: $val";

        $retval;

        } # end of doBob

will generate
        had dog, big, brown
        SUB:  JoeBob => dog
        # got dog, big, dog :: JoeBob

but if I modify the package Call to

        $colour = JoeBob::doBob($spot, $dog);

we get the expected results....

The problem seems to be that you are playing fast and
loose with the syntax of using an annonymous object -
with out all the Religion of bless it appropriately ....

hence if you REALLY want it to be

        $colour = JoeBob->doBob($spot, $dog);

then you have to be selfless in your assignment in the sub:

        sub doBob {
                my ($self, $val, $friend ) = @_;

        print "SUB: $val => $friend" ;

        my $retval = "$friend :: $val";

        $retval;

        } # end of doBob

cf:
http://www.wetware.com/drieux/pbl/bloopers/pkgFumbles.txt

May I recommend to you:
        http://www.wetware.com/drieux/CS/lang/Perl/PM/
perchance you can also critique
        http://www.wetware.com/drieux/CS/lang/Perl/PM/OO_v_Procedural.html

from which I have two different samples of the same module -
one implemented in OO....

ciao
drieux

---


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to