| vars-i documentation | view source | Contained in the vars-i distribution. |
vars::i - Perl pragma to declare and simultaneously initialize global variables.
use Data::Dumper;
$Data::Dumper::Deparse = 1;
#
use vars::i '$VERSION' => 3.44;
use vars::i '@BORG' => 6 .. 6;
use vars::i '%BORD' => 1 .. 10;
use vars::i '&VERSION' => sub(){rand 20};
use vars::i '*SOUTH' => *STDOUT;
#
BEGIN {
print SOUTH Dumper [
$VERSION, \@BORG, \%BORD, \&VERSION
];
}
#
use vars::i [ # has the same affect as the 5 use statements above
'$VERSION' => 3.66,
'@BORG' => [6 .. 6],
'%BORD' => {1 .. 10},
'&VERSION' => sub(){rand 20},
'*SOUTH' => *STDOUT,
];
#
print SOUTH Dumper [ $VERSION, \@BORG, \%BORD, \&VERSION ];
#
__END__
For whatever reason, I once had to write something like
BEGIN {
use vars '$VERSION';
$VERSION = 3;
}
and I really didn't like typing that much.
Also, I like being able to say
use vars::i '$VERSION' => sprintf("%d.%02d", q$Revision: 1.3 $ =~ /: (\d+)\.(\d+)/);
use vars::i [
'$VERSION' => sprintf("%d.%02d", q$Revision: 1.3 $ =~ /: (\d+)\.(\d+)/),
'$REVISION'=> '$Id: GENERIC.pm,v 1.3 2002/06/02 11:12:38 _ Exp $',
];
Like with use vars;, there is no need to fully qualify the variable name.
See vars, "our" in perldoc, Pragmatic Modules in perlmodlib.
Copyright (c) 2003 by D.H. aka PodMaster. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. If you don't know what this means, visit http://perl.com/ or http://cpan.org/.
| vars-i documentation | view source | Contained in the vars-i distribution. |