[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