Câu hỏi thường gặp đi kèm với Perl có câu trả lời cho câu hỏi này. Nếu bạn chạy perldoc -q "screen size"
, bạn sẽ nhận được các thông tin sau:
Làm cách nào để có kích thước màn hình?
Nếu bạn đã cài đặt Term::ReadKey
mô-đun từ CPAN, bạn có thể sử dụng nó để lấy chiều rộng và chiều cao trong nhân vật và tính theo pixel:
use Term::ReadKey;
($wchar, $hchar, $wpixels, $hpixels) = GetTerminalSize();
Đây là di động nhiều hơn "ioctl" thô, nhưng không như minh họa:
require 'sys/ioctl.ph';
die "no TIOCGWINSZ" unless defined &TIOCGWINSZ;
open(TTY, "+</dev/tty") or die "No tty: $!";
unless (ioctl(TTY, &TIOCGWINSZ, $winsize='')) {
die sprintf "$0: ioctl TIOCGWINSZ (%08x: $!)\n", &TIOCGWINSZ;
}
($row, $col, $xpixel, $ypixel) = unpack('S4', $winsize);
print "(row,col) = ($row,$col)";
print " (xpixel,ypixel) = ($xpixel,$ypixel)" if $xpixel || $ypixel;
print "\n";
vì vậy, bạn có thể sử dụng một trong những cuối cùng nếu bạn muốn có một giải pháp Perl tinh khiết, hoặc cài đặt Term::ReadKey từ CPAN nếu bạn muốn có một giải pháp đơn giản trong mã của bạn nhưng thiết lập trước nhiều hơn.
Bạn luôn có quyền truy cập vào một trình biên dịch. Không có luật nào nói rằng bạn phải biên dịch nó trên cùng một máy chủ. –
[mỉa mai] Bình thường có ... nhưng không phải ở đây. Vì mọi người đều biết rằng Java & Perl chỉ có thể được phát triển trên bất kỳ hộp nào, không cần phải có cùng một môi trường (đọc kiến trúc) trên nền tảng dev hơn nền sản xuất ... [/ sarcastic] –
Tại sao lại mỉa mai? Tôi đang cho bạn một câu trả lời nghiêm túc. Hệ thống phát triển và sản xuất của bạn không thực sự quan trọng. Bạn có thể biên dịch chéo cho cả hai. Bạn đang ở đây để được giúp đỡ và tôi đã giúp bạn miễn phí, do đó, không shit vào nó. –