#! /usr/bin/perl use strict; use warnings; use Tk; use Tk::HList; my $mw = MainWindow->new(); my $dir = '.'; my $hl = $mw->Scrolled('HList', -header => 1, -columns => 4, -width => 80, -scrollbars => 'osoe' )->pack(); $hl->header('create',0,-text => 'File'); $hl->header('create',1,-text => 'Size'); $hl->header('create',2,-text => 'Date'); $hl->header('create',3,-text => 'Permissions'); showFiles($hl,$dir); MainLoop; sub showFiles{ my ($hl,$dir) = @_; my $i = 0; opendir(DIR,$dir) or die $!; while(my $file = readdir(DIR)){ my $path = $dir.'/'.$file; my ($date,$permissions,$size) = (stat($path))[8,2,7]; $date = localtime($date); $permissions = sprintf("%4o",$permissions & 07777); $hl->add($i); my $l = 0; for($file,$size,$date,$permissions){ $hl->itemCreate($i,$l,-text => $_); $l++; } $i++; } closedir DIR; }# end showFiles