package hiermeinpaket; # funktioniert nur innerhalb des Pakets korrekt. sub printSth () {  my $value=shift;  print $value; } # Hm... selbes Problem...funktioniet nur innerhalb des Pakets korrekt sub printSth2 () {  print @_[0];  #print @[1]; } # Funktioniert immer, aber so umständlich. Negativvergleich aus Perfomanegründen (hier nicht wichtig). sub printSthDefinitely () {  my $value= shift;  $value = shift unless ($value ne 'hiermeinpaket');  print $value; } sub intern () {  my $text = 'hello welt';  &printSth1 ($text);  &printSth2 ($text);  &printSthDefinitely ($text); } &intern (); # läuft korrekt ################################## package woanders; sub extern () {  my $text = 'hello welt';  &hiermeinpaket::printSth1 ($text);  # pfui  &hiermeinpaket::printSth2 ($text);  # pfui  &hiermeinpaket::printSthDefinitely ($text);  #hui } &extern (); # das Problem wird sichtbar. sub vonHintenDurchDieBrust () {  my $text = 'hello welt';  package hiermeinpaket; # HÖ-HÖ  &printSth1 ($text);  &printSth2 ($text);  &printSthDefinitely ($text); } &vonHintenDurchDieBrust(); # TSE... alles fein?