my $err = ioctl STDOUT, &TIOCGWINSZ, $winsize;
####
my $err = ioctl(TTY, &TIOCGWINSZ, $winsize = "");
####
sub TIOCGWINSZ {
0x40087468
}
####
#!/usr/bin/perl
use strict;
use Term::ReadKey;
use Data::Dumper::Concise;
sub getwinsize (;$) {
my $recheck = $_[0];
my $winsize = 0;
my ( $maxrow, $maxcol );
return ( $maxrow, $maxcol ) if $maxrow && $maxcol && !$recheck;
my $err = ioctl(TTY, &TIOCGWINSZ, $winsize = "");
if ($err) {
print STDERR "ERROR: ioctl on STDOUT: $!\n";
unless ( ioctl( TTY, &TIOCGWINSZ, $winsize = "" ) ) {
print STDERR "ERROR: ioctl on fileno(STDOUT): $!\n";
}
else {
printf STDERR "ioctl on fileno(STDOUT) worked\n";
}
}
else {
printf STDERR "ioctl on STDOUT worked\n";
}
return;
}
print Dumper(GetTerminalSize());
print getwinsize();
sub TIOCGWINSZ {
0x40087468
}