In Perl sind Instanzen von Klassen Referenzen. Beispiel zum aktuellen Thema:
package Cookie;
sub new{
my $class = shift;
return bless{}, $class;
}
package HTTP;
sub new{
my $class = shift;
my $cookie = shift; # Objekt
return bless{COOKIE => $cookie}, $class;
}
sub request{
my $self = shift;
$self->{COOKIE}{text} = "Huch, hab mir einen Cookie eingefangen";
}
package main;
my $cookie = Cookie->new;
my $http = HTTP->new($cookie);
$http->request;
print Dumper $cookie;
Ausgabe des Dump:
$VAR1 = bless( {
'text' => \'Huch, hab mir einen Cookie eingefangen'
}, 'Cookie' );
Daten also außen zugänglich. q.e.d.