Hi,

Well, I checked the line endings. They are unix. It must be permissions, because the syntax check came up good, and the error is a 500. I've set both to 755. Perl version is 5.8.1 (standard install). I tried the "use vars qw/@list/;", but that didn't seem to do the trick either. I know this should be simple, but I'm not sure what the problem is.

Mark


On Feb 18, 2005, at 10:39 AM, Bruce Van Allen wrote:

On 2005-02-18 Mark Wheeler wrote:
Ok... I made the changes, but still no luck. Here is the script as it
is, now.

------------------------------------------
test.cgi
------------------------------------------

#!/usr/bin/perl -w

use strict;

our @list;
require 'variables.conf';

foreach (@list) {
print;
}

exit;

-------------------------------------------
variables.conf
-------------------------------------------

$list[0] = '0';
$list[1] = '1';
$list[2] = '2';
$list[3] = '3';
$list[4] = '4';

1;

-------------------------------------------------------------------

What am I missing here? Thanks for your help.

That works here. What errors or warnings are you getting? Did you get rid of the "my @list;" declaration in the require()ed file (variables.conf)? Permissions OK?

If you're running an earlier version of Perl, instead of
    our @list;
write this:
    use vars qw/@list/;
before the require() statement.

In the bigger picture, yes, storing Perl code and data structures in
separate files is a widespread practice, rightly so as part of Perl's
easy extensibility.

For a learning path that gives the most solid foundation to this
practice, consider starting now with always running your scripts in
taint mode. What you read in from external files is not secure in many
situations, especially networks -- e.g., the Internet.

Some common script operations, such as open()ing a file with a path
stored in an external config file, could cause severe security issues.

If you incorporate the simple steps required to untaint external data
from the beginning, your programs will more strongly handle increased
complexity and public exposure.

And you will avoid the stress of combing back through a program you need
to make secure, trying to find the elusive points where the -T switch
tenaciously challenges you, an enterprise in which you may risk losing
your appreciation of logically organized electron flows.

HTH

- Bruce

__bruce__van_allen__santa_cruz__ca__



Reply via email to