Hmmm die Syntax die Du verwendest ist mir unbekannt.
Normalerweise kommt nach "use Libname" kein Block, sondern ggf. nähere Angaben in runden Klammern und dann ein Semikolon.
Generell könnte ich mir nach Deiner Beschreibung vorstellen, dass globale Variablen im Speicher bleiben und ev. die Zeilen ihrer Definition zu Beginn des Programms nicht wieder durchlaufen werden. Eine Abhilfe wäre in diesem Fall, wenn Du eine Funktion schreibst in der Du alle globalen Variablen (es sollten eh möglichst wenige sein) initialisierst und diese immer beim Programmstart aufrufst.
Edit: Es würde wohl auch reichen, statt
my $variable;
$variable = 42;
zu schreiben, wenn meine Vermutung richtig ist.
Edit2: Ich stell mir das so vor wie statische Variablen in C-Funktionen...\n\n
<!--EDIT|Crian|1069685377-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;
use strict; use warnings; Link zu meiner Perlseite