package Term::MiniExample; use strict; use warnings; BEGIN { if ( $^O eq 'MSWin32' ) { require Term::Size::Win32; Term::Size::Win32::->import( 'chars' ); *term_size = sub{ my $self = shift; my ( $width, $height ) = chars( $self->{out} ); return $width - 1, $height; } } else { require Term::ReadKey; Term::ReadKey::->import( 'GetTerminalSize' ); *term_size = sub { my $self = shift; return GetTerminalSize( $self->{out} ); } } } sub new { my $class = shift; my $self = { out => \*STDOUT }; bless $self, $class; return $self; } sub say_term_size { my $self = shift; my @termsize = $self->term_size(); print "@termsize\n"; } 1; __END__