Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How can I share common data structures and constants

0 views
Skip to first unread message

Sean

unread,
Apr 18, 2008, 1:04:57 AM4/18/08
to
Hi,

I use certain constants defined in has, array and simple variables over and
over in some of the modules I have written. I was wondering if there was a
"C like include file" in Perl.

Any help is greatly appreciated.

-Sean


Frank Seitz

unread,
Apr 18, 2008, 2:49:32 AM4/18/08
to
Sean wrote:
>
> I use certain constants defined in has, array and simple variables over and
> over in some of the modules I have written. I was wondering if there was a
> "C like include file" in Perl.

Declare the variables with our and include the
file with use or require.

Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen f�r Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Skye Shaw!@#$

unread,
Apr 18, 2008, 2:56:25 AM4/18/08
to


perldoc -f require

require is similar to include; well maybe a little smarter...

Though I think it's generally better to give them a namespace via a
package.

Like so:

package Ass::Bass;

our $GOOD_YEAR = 16;
our $CASS = 'what it izzz!';

1;

then use them like so:

use Ass::Bass;

print "Sorry franky... $Ass::Bass::GOOD_YEAR"


check out
perldoc -f package
perldoc -f our

-Skye

Sherman Pendley

unread,
Apr 18, 2008, 3:08:53 AM4/18/08
to
"Sean" <imfea...@pacbell.net> writes:

> I use certain constants defined in has, array and simple variables over and
> over in some of the modules I have written. I was wondering if there was a
> "C like include file" in Perl.

Yes - it's called modules. Given that you've already written some, I don't
understand what you're really asking here. What's stopping you from simply
placing your constants, etc. in a module and use()-ing it?

sherm--

--
My blog: http://shermspace.blogspot.com
Cocoa programming in Perl: http://camelbones.sourceforge.net

rthangam

unread,
Apr 18, 2008, 3:39:46 AM4/18/08
to

You can create a separate module for having all the constant values
like for example:

% cat Const.pm

package Const;

use constant
{
foo => 10,
bar => 23
};

1;


% cat const_test.pl
#! /usr/bin/perl
use Const;

print Const::foo;

This is one way i could think of there should be other ways too

rthangam

unread,
Apr 18, 2008, 3:42:32 AM4/18/08
to
On Apr 18, 10:04 am, "Sean" <imfeaw5...@pacbell.net> wrote:

You can have the constants as a hash in another module. Like for eg.,

% cat Const.pm

package Const;

use constant
{
foo => 10,
bar => 23
};

1;


% cat const_test.pl
#! /usr/bin/perl
use Const;

print Const::foo;

Here Const.pm has the constants which can be used by other files or
modules and also makes it easier to maintain

0 new messages