[Dresden-pm] Verständnisfrage zum print-Befehl bei Debconf::Client::ConfModule

Hans-Dietrich Kirmse hd.kirmse at gmx.de
Mo Jun 7 10:09:04 PDT 2010


Hallo Martin,

danke ersteinmal für deine Antwort.

Martin Probst (RobHost Support) schrieb:

>>> #!/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:

>> 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)
>>
> Scheinbar selected das Modul einen anderen Ausgabekanal als Standard-Ausgabe.

ja. und zwar (nach der Aussage aus der Debian-Liste) so, dass er mit der
Debconf-Datenbank kommuniziert. Aber nach diesem get-Befehl wird dieser
Kanal nicht mehr gebraucht. Deswegen will ich den zurücksetzen. Aber ich
weiss nicht wie das geht und habe auch (noch) nichts dazu gefunden.

> Probier doch nach dem get() mal ein 
>> select( STDOUT );
> und schau ob wieder die Konsole als Standard-Ausgabe verwendet wird.

nein, passiert leider nicht.

> Was ich oben gerade sehe, du machst ja ein
>> print DATEI $value, "\n";
> also ein print auf das Filehandle "DATEI", ergo Ausgabe in die Datei. Hattest du schon ein normales
>> print $value, "\n";
> probiert?

ja, genau in der Zeile oben drüber. Es passiert einfach nichts.
Und genau das war das Problem, dass ich Stunden nach einen Fehler
gesucht habe (die Syntax steht ja nicht in der Doku). Erst als ich mal
ein print "hallo" eingefügt hatte und auch das nichts bewirkt hatte, bin
ich auf den Trichter gekommen, dass mal in eine Datei zu schreiben.

Aber leider bin ich noch nicht weiter. :(

Mit freundlichen Grüßen
Hans-Dietrich





Mehr Informationen über die Mailingliste Dresden-pm