@@ -23,7 +23,9 @@ my $actions = {
23
23
};
24
24
25
25
my $regex_dir = qr " (?<=^Directory for ::/)(.*)$ " ;
26
- my $regex_list = qr " ^(\S +)\s +(\S *)\s +(\S +)\s +(\d {4})-(\d {2})-(\d {2})\s +(\d {1,2}):(\d {1,2})\s\s ?(.*)$ " ;
26
+ # Required for regex
27
+ $ENV {MTOOLS_DOTTED_DIR } = 1;
28
+ my $regex_list = qr " ^(\S +)\s +(\S +)\s +(\d {4})-(\d {2})-(\d {2})\s +(\d {1,2}):(\d {1,2})\s\s ?(.*)$ " ;
27
29
28
30
sub print_debug {
29
31
print " @_ \n " if exists $ENV {DEBUG };
@@ -73,19 +75,17 @@ sub default_handler {
73
75
$dir = join ( " /" , @dir );
74
76
next ;
75
77
}
76
- if ( my ( $name , $ext , $size , $year , $mon , $day , $hours , $mins , $longname ) = $_ =~ / $regex_list / ) {
77
- print_debug " list: dir = $dir , name = $name , ext = $ext , size = $size , year = $year , mon = $mon , day = $day , hours = $hours , mins = $mins , longname = $longname ;" ;
78
- next if ( $name eq ' .' || $name eq ' ..' );
78
+ if ( my ( $filename , $size , $year , $mon , $day , $hours , $mins , $longname ) = $_ =~ / $regex_list / ) {
79
+ print_debug " list: dir = $dir , filename = $filename , size = $size , year = $year , mon = $mon , day = $day , hours = $hours , mins = $mins , longname = $longname ;" ;
80
+ next if ( $filename eq ' .' || $filename eq ' ..' );
79
81
my $perms = $size eq ' <DIR>'
80
82
? ' drwxr-xr-x'
81
- : ( $ext eq ' exe ' || $ext eq ' com' || $ext eq ' bat' )
83
+ : $filename =~ / com|exe| bat/ i
82
84
? $exec
83
85
: ' -rw-r--r--' ;
84
- $name = uc ( $name ) if $uc ;
86
+ $filename = uc ( $filename ) if $uc ;
85
87
my $path = ( $dir ? " /$dir /" : " /" )
86
- . ( $longname
87
- ? $longname
88
- : $name . ( $ext ? " .$ext " : " " ) );
88
+ . ( $longname ? $longname : $filename );
89
89
$secs = defined $secs ? $secs : " 00" ;
90
90
print_debug " list: path = $path " ;
91
91
$output -> { $path } = sprintf " %-10s 1 %-8d %-8d %8s %s /%s /%s %s :%s :%s %s " , $perms , $< ,
0 commit comments