package xxx; { # Blockstart our $public; my $private; # in diesem Blockscope ist jedes $public als Kurzschreibung für $xxx::public deklariert # in diesem Blockscope ist jedes $private als lexikalisch deklariert, # und wird privat beim Blockscope gespeichert, absolut unabhängig vom Package } # Blockende # $private existiert nicht mehr, weil sein Scope verlassen wurde, Zugriff (ohne "Schmuggelaktionen") ist unmöglich # hier ist der kurze Variablenname $public undeklariert # ich kann aber immer noch problemlos auf die Variable $xxx::public zugreifen # auch aus einer anderen Datei