Wie kann ich die Terminalbreite in Perl abrufen?

7

Ich möchte einen Fortschrittsbalken ausgeben, aber wie erhalte ich die Terminalbreite in Perl?

Eine Core-Perl-Lösung wäre vorzuziehen, da ich keinen Zugriff auf einen Compiler habe, nur eine bereits installierte 5.8.2 Perl.

    
Steve Schnepp 23.11.2009, 09:46
quelle

4 Antworten

26

Die FAQ, die mit Perl geliefert wird, hat die Antwort auf diese Frage. Wenn Sie perldoc -q "screen size" ausführen, erhalten Sie Folgendes:

  

Wie bekomme ich die Bildschirmgröße?

     

Wenn Sie Term::ReadKey module von CPAN installiert haben, können Sie damit die Breite und Höhe in Zeichen und in Pixeln abrufen:

%Vor%      

Dies ist tragbarer als das rohe "ioctl", aber nicht so illustrativ:

%Vor%

Sie können also das letzte verwenden, wenn Sie eine reine Perl-Lösung wünschen, oder Term :: ReadKey aus CPAN, wenn Sie eine einfachere Lösung in Ihrem Code wünschen, aber mehr im Vorfeld einrichten.

    
Matt Ryall 23.11.2009, 09:55
quelle
6

Wenn Sie einen Fortschrittsbalken erstellen möchten, schwitzen Sie nicht die Details. Verwenden Sie eines der vielen Fortschrittsbalkenmodule in CPAN und machen Sie damit fertig.

    
brian d foy 23.11.2009 12:18
quelle
6

Das hängt natürlich von der Plattform ab, aber eine sehr einfache Lösung, die unter Linux funktioniert, ist diese:

%Vor%     
roryrjb 27.10.2016 09:46
quelle
5

Begriff :: Größe :: Jeder sieht so aus, wonach Sie suchen.

    
Dan 23.11.2009 09:49
quelle

Tags und Links