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.
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
%Vor%Term::ReadKey
module von CPAN installiert haben, können Sie damit die Breite und Höhe in Zeichen und in Pixeln abrufen: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.
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.