12:24 >p5u v Capture::Tiny Capture::Tiny C:\Perl\Strawberry\strawberry-perl-5.22.0.1-64bit-PDL\perl\vendor\lib\Capture\Tiny.pm: 0.30 #### 12:27 >p5u v Capture::Tiny Capture::Tiny C:\Perl\Strawberry\strawberry-perl-5.22.1.1-64bit-PDL\perl\vendor\lib\Capture\Tiny.pm: undef 12:27 > #### use vars qw($VERSION @ISA $AUTOLOAD); # quotes 'version' for 5.004 $VERSION = eval 'use version; 1' ? 'version'->new('0.35') : '0.35'; $VERSION = eval $VERSION; #### our $AUTOLOAD; our $VERSION; $VERSION = eval 'use version; 1' ? 'version'->new('0.37') : '0.37'; $VERSION = eval $VERSION; #### use strict; use warnings; package Package_One; use vars qw( $VERSION ); #our $VERSION; $VERSION = 'irrelevant'; # "our $VERSION" comes from the target module; without "our" there's no problem my $eval =<<'END_EVAL'; no strict; local $VERSION; $VERSION=undef; do { our $VERSION = 'desired_version'; }; $VERSION END_EVAL printf "Version: %s\n", Package_Two->_eval($eval); package Package_Two; sub _eval { eval $_[1]; } #### #use vars qw( $VERSION ); our $VERSION; #### my $eval =<<'END_EVAL'; no strict; local $VERSION; $VERSION=undef; do { $VERSION = 'desired_version'; }; $VERSION END_EVAL