#!/usr/bin/perl

use strict;

my $RootDir = ($ARGV[0] eq '')? '.' : $ARGV[0];

&ShowTree($RootDir);

exit;


sub ListTree {
	my ($dir, $level) = @_;

	opendir my $dh, $dir;
	my @files = grep { $_ !~ /^\.\.?$/; } readdir $dh;
	closedir $dh;

	foreach my $file (sort { lc $a <=> lc $b; } @files) {
		next if(!-d "$dir/$file");

		print "Dir: $dir/$file\n";
		&ListTree("$dir/$file", $level+1);
	}

	foreach my $file (sort { lc $a <=> lc $b; } @files) {
		next if(-d "$dir/$file");

		print ">" x $level, " $file\n";
	}
}

sub ShowTree {
	for my $dir (@_) {
		print "Dir: $dir\n";
		&ListTree($dir, 0);
	}
}
