Dann drängt sich mir die Vermutung auf, dass das in diesem Fall wirklich so vom iwlist als String geliefert wird.
Möglicherweise hängen da noch mehr Umgebungsvariablen dran?
In Deinem Shell-Skript schreibst Du:
export DEBIAN_FRONTEND=noninteractive
Ist die zur Ausführung des
iwlist notwendig?
Wenn ja, ist diese Umgebungsvariable auch in Deinem Perl-Skript gesetzt?
Wenn nicht, setze sie in Deinem Perlskript bevor Du das
iwlist Kommando aufrufst:
$ENV{DEBIAN_FRONTEND}="noninteractive";
edit:
Nachtrag:
Wo ich von Umgebung geschrieben hatte.
Möglicherweise hängt es wirklich mit der Umgebung zusammen; Vermutung:
Direkt im Terminal ist die Umgebung so eingerichtet, dass "UTF-8" genutzt werden kann. Das Kommando
locale sollte das anzeigen. Daher kann iwlist die UTF-8 Zeichen auch direkt ausgeben.
Im Perl-Skript wird das aber nicht erkannt (oder es ist anders gesetzt), also "glaubt" iwlist, dass die Umgebung kein UTF-8 kann und gibt das Ergebnis als String mit Escape-Sequenzen aus.
Abhilfe könnte hier dann das Einrichten der korrekten Umgebung sein.
Siehe dazu auch:
https://perldoc.perl.org/perllocale
Last edited: 2021-02-24 13:25:30 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!