[Dresden-pm] Verständnisfrage zum print-Befehl bei Debconf::Client::ConfModule
Hans-Dietrich Kirmse
hd.kirmse at gmx.de
Mo Jun 7 04:04:56 PDT 2010
Hallo,
ich schrieb:
> Zum Zugriff auf die Debconf-Datenbank (dort stehen die Voreinstellungen)
> wird bei Debian das oben angegeben Modul mitgeliefert. Ich möchte jetzt
> einen Wert aus der Debconf-Datenbank auslesen. Folgendes Script tut
> *fast* das was es soll:
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> #!/usr/bin/perl
> use warnings;
> use strict;
>
> use Debconf::Client::ConfModule ':all';
> version('2.0');
>
> my ($status, $value) = get('delixs/host');
> print $value, "\n";
>
> open DATEI, '>', 'temp.txt'
> or die "konnte Datei nicht oeffnen.$!\n";
> print DATEI $value, "\n";
> close DATEI;
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Auf der Konsole erscheint leider *nichts*. Aber in der Datei 'temp.txt'
> steht genau der gesuchte Wert drin! für mich völlig unerklärlich.
in der Debian-Liste kam doch noch eine Antwort:
<kopie>
Bei Shellscripts ist es so, dass Du, wenn Du das confmodule gesourced
hast, auf Deinem stdin/stdout nicht mehr mit der Konsole sprichst,
sondern mit debconf. Es würde mich wundern, wenn das bei perl anders
wäre.
</kopie>
eigentlich erklärt das, warum das so ist. Nur mein Problem ist damit
nicht gelöst.
Ich möchte in den Script auch weiterhin auf die Standardausgabe
(Konsole) schreiben. D.h. nachdem in dem kleinen Beispiel-Script die Zeile
my ($status, $value) = get('delixs/host');
abgearbeitet ist, möchte ich die Ausgabe wieder zurücksetzen, wie könnte
man da vorgehen? (Habe sowas noch nie gemacht)
Für jeden Tipp wäre ich sehr dankbar.
Mit freundlichen Grüßen
Hans-Dietrich
Mehr Informationen über die Mailingliste Dresden-pm