Fw: USE Statement
From: Ron Wingfield (rtwingfield_at_archaxis.net)
Date: 12/23/04
- Next message: Peter Barnett: "DBD Errors for New Oracle Install"
- Previous message: James Anderson: "RE: DBD::Sybase::db do failed: Server message number=2762"
- Maybe in reply to: Ron Wingfield: "USE Statement"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
To: <dbi-users@perl.org> Date: Thu, 23 Dec 2004 14:18:59 -0600
Oops, . . .forgot to "reply to all".
----- Original Message -----
From: Ron Wingfield
To: Hardy Merrill
Sent: Thursday, December 23, 2004 2:15 PM
Subject: Re: USE Statement
First, from a "first-time'er", thanks to all who have responded. This is a
GREAT forum!
BTW, I'm running FreeBSD 4.8; MySQL4.1.7 client, scripts and server; Perl
5.8.5 with p5-DBI-1.46 and p5-DBD-mysql-2.9004 MySQL driver.
Here is what I've tried so far:
use strict;
use lib qw(/usr/home/rtwingfield/bin /www/cgi-bin/perl);
use CGI qw(:standard escapeHTML); # I know that this is not the latest,
greatest OOP technique.
use Perl_API_Utils; # installed in /www/cgi-bin/perl
my $db=param('database');
# require $db; # . . . . . . . . . . . . Will not work!
eval "require $db";
# my $dbh = $db::connect(); . . . Will not work! THIS IS MY NEW
PROBLEM!
# require Cookbook; # . . . . . . . . . Works, but "hard-coded.
my $dbh = Cookbook::connect(); # . . . Works, but "hard-coded.
I searched and found this URL,
http://search.cpan.org/~mschwern/UNIVERSAL-exports-0.03/lib/UNIVERSAL/require.pm.
I have not installed the module, but opted for the EVAL construct which
solves my first problem question.
Now, this problem has raised it's ugly head:
my $dbh = $db::connect();
How to make this work?
FYI, I've written a Perl/MySQL (soon to be a ???) module that functions as a
universal Table Maintenance program. It has Inquire, Add, Update, and
Delete actions, and is totally non specific for any database or table, . .
.if I can get this one last little problem solved.
Thanks again,
Ron Wingfield
==================================================
----- Original Message -----
From: Hardy Merrill
To: rtwingfield@archaxis.net ; dbi-users@perl.org
Sent: Thursday, December 23, 2004 11:41 AM
Subject: Re: USE Statement
Ron, your message did make it to the list :)
And from 'perldoc -q use':
======================================================
What's the difference between require and use?
Perl offers several different ways to include code from one file
into
another. Here are the deltas between the various inclusion
constructs:
1) do $file is like eval `cat $file`, except the former
1.1: searches @INC and updates %INC.
1.2: bequeaths an *unrelated* lexical scope on the eval'ed
code.
2) require $file is like do $file, except the former
2.1: checks for redundant loading, skipping already loaded
files.
2.2: raises an exception on failure to find, compile, or
execute $fi
le.
3) require Module is like require "Module.pm", except the
former
3.1: translates each "::" into your system's directory
separator.
3.2: primes the parser to disambiguate class Module as an
indirect o
bject.
4) use Module is like require Module, except the former
4.1: loads the module at compile time, not run-time.
4.2: imports symbols and semantics from that package to the
current
one.
In general, you usually want "use" and a proper Perl module.
======================================================
>>From that it sounds to me like 'require' might be what you want,
instead of 'use'.
HTH.
Hardy Merrill
>>> "Ron Wingfield" <rtwingfield@archaxis.net> 12/23/04 12:40PM >>>
I would like to the specify the USE argument dynamically as for
example:
USE $database;
Apparently, the scalar is not recognized (compile error). Is it
possible to
provide a dynamic insertion such that a user could specify via a
run-time
parameter, which database the program is to use?
BTW, I'm a new forum user. Can someone please respond is this message
appears on the forum?
Thanks,
Ron W.
- Next message: Peter Barnett: "DBD Errors for New Oracle Install"
- Previous message: James Anderson: "RE: DBD::Sybase::db do failed: Server message number=2762"
- Maybe in reply to: Ron Wingfield: "USE Statement"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|