|< 1 2 >| | 18 Einträge, 2 Seiten |
1
2
3
4
5
my $ref = $dbh->selectall_arrayref('select * from tab');
# mache den speicher frei
@{$ref} = (); # so???
undef(@{$ref}); # so???
# weiter im programm
1
2
3
# so!
undef @{$ref};
undef $ref; # oder out of scope, hauptsache refcount geht auf null
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use strict;
use DBI;
my $DB_HOST = "127.0.0.1";
my $DB_PORT = "3306";
my $DB_USER = "root";
my $DB_PASSWD = "";
my $DB_NAME = "test";
my $DB_DSN = "DBI:mysql:$DB_NAME:$DB_HOST:$DB_PORT";
my $dbh = DBI->connect($DB_DSN, $DB_USER, $DB_PASSWD, {PrintError => 1, RaiseError => 0, AutoCommit => 1});
my $abfrage = 'SELECT * FROM cluster;';
my $sth = $dbh->prepare($abfrage);
$sth->execute();
my $ergebnis = $dbh->selectall_arrayref($sth);
$sth->finish();
$dbh->disconnect();
undef @{$ergebnis};
undef $ergebnis;
### hier ist die speicherbelegung immer noch voll
sleep(30);
exit;
### nach beenden des scripts die der speicher leer
undef $ref
|< 1 2 >| | 18 Einträge, 2 Seiten |