Re: List with qw and without
- From: rob.dixon@xxxxxxx (Rob Dixon)
- Date: Sat, 26 Jul 2008 13:26:00 +0100
William wrote:
package MyConfig;
use constant (DOCUMENT_ROOT => "/var/www/");
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(DOCUMENT_ROOT); # This works
#our @EXPORT_OK = (DOCUMENT_ROOT); # But this does not work
1;
use MyConfig qw(DOCUMENT_ROOT);
print DOCUMENT_ROOT;
# If I do not use qw , I will get error of "DOCUMENT_ROOT" is not exported by the MyConfig module
# Why is qw importance is so significance here ?
# I thought qw is just a syntatic sugar of perl to make a list
# Thank you.
That's correct. qw splits its parameter on whitespace, so
qw(A B C)
is similar to
split ' ', 'A B C'
So if you write
use MyConfig 'DOCUMENT_ROOT';
or
use MyConfig ('DOCUMENT_ROOT');
then your program will work as expected. But because you've defined the constant
DOCUMENT_ROOT to be "/var/www/"
use MyConfig (DOCUMENT_ROOT);
is the same as saying
use MyConfig ("/var/www/");
which is nonsense.
HTH,
Rob
.
- References:
- List with qw and without
- From: William
- List with qw and without
- Prev by Date: List with qw and without
- Next by Date: Re: while trying to learn pack
- Previous by thread: List with qw and without
- Index(es):