in reply to Re: Traverse through directory structure and print in required format
in thread Traverse through directory structure and print in required format

This includes all the possible improvements I mentioned:
use Path::Class qw( dir ); sub visit { my ($dir, $level) = @_; $level ||= 0; my $group_indent = ' ' x (2*$level); ++$level; my $child_indent = ' ' x (2*$level); printf($group_indent."Group: %s {\n", $level ? $dir->basename : $di +r); for my $file (dir($dir)->children()) { if ($file->is_dir) { visit($file, $level); } else { printf($child_indent."File: %s (%s)\n", $file->basename, $fil +e); } } print($group_indent."}\n"); } visit('/proj/newdata');

Update: Was missing top level Group. Fixed.

  • Comment on Re^2: Traverse through directory structure and print in required format
  • Download Code