/
opt
/
dedrads
/
perl
/
IMH
/
/opt/dedrads/perl/IMH
mkdir
upload
Name
Size
Mode
Actions
CPanel/
-
0555
rm
ShowConns/
-
0555
rm
Bytes.pm
1178
0555
edit
dl
rm
MountPoint.pm
1178
0555
edit
dl
rm
OptionParser.pm
10596
0555
edit
dl
rm
Progress.pm
5130
0555
edit
dl
rm
Shell.pm
2207
0555
edit
dl
rm
Terminal.pm
2098
0555
edit
dl
rm
Edit:
/opt/dedrads/perl/IMH/Terminal.pm
(2098B)
package IMH::Terminal; use strict; use warnings; use Term::ANSIColor; require Exporter; our @ISA = qw(Exporter); our %EXPORT_TAGS = ( 'all' => [ qw( screen_size screen_width screen_height c bleach clen ljust rjust center $bleach ) ] ); our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); our @EXPORT = qw( screen_size screen_width screen_height c bleach clen ljust rjust center ); our $VERSION = '0.01'; our $bleach = !-t STDOUT; sub screen_size { my @size = ( $ENV{'COLUMNS'} || 80, $ENV{'LINES'} || 22 ); my $tiocgwinsz = 0x5413; eval { my $data = ''; if ( ioctl( STDERR, $tiocgwinsz, $data ) >= 0 ) { my ( $height, $width ) = unpack( "SSSS", $data ); $size[ 1 ] = $height if $height >= 0; $size[ 0 ] = $width if $width >= 0; } }; return @size; } sub screen_width { my ( $w, $h ) = screen_size; return( 0 + $w ); } sub screen_height { my ( $w, $h ) = screen_size; return( 0 + $h ); } sub c($$) { my ( $str, $style ) = @_; defined( $str ) or $str = ''; if ( $style && !$bleach ) { $str = colored( $str, $style ); } return $str; } sub bleach($) { my ( $colored ) = @_; defined( $colored ) or $colored = ''; $colored =~ s(\033\[[^a-z]*[a-z])()g; return $colored; } sub clen($) { return length( bleach( $_[ 0 ] ) ); } sub ljust($$) { my ( $string, $width ) = @_; defined( $string ) or $string = ''; my $len = clen( $string ); return $string if $width <= $len; my $padding = $width - $len; return( $string . ( ' ' x $padding ) ); } sub rjust($$) { my ( $string, $width ) = @_; defined( $string ) or $string = ''; my $len = clen( $string ); return $string if $width <= $len; my $padding = $width - $len; return( ( ' ' x $padding ) . $string ); } sub center($$) { my ( $string, $width ) = @_; defined( $string ) or $string = ''; my $len = clen( $string ); return $string if $width <= $len; my $padding = $width - $len; my $left = int( $padding / 2 ); my $right = $left + $padding % 2; return( ( ' ' x $left ) . $string . ( ' ' x $right ) ); } 1; __END__
Save
cmd:
run