http://www.perlmonks.org?node_id=1007640

Vijay81 has asked for the wisdom of the Perl Monks concerning the following question:

Hi All, Am trying to print just directory and sub-directories names from the mentioned path. script reads directories recursively but it prints fullpath. I don't know how print just directory names or stored them in a array. Thanks for reading the post. Any help would be very greatful.

Main script :
#! /usr/bin/perl use strict; use warnings; my $base_dir = 'C:\Input'; my @to_visit = $base_dir; while (@to_visit) { my $dir = pop(@to_visit); opendir(my $dh, $dir); my $file; while(defined($file = readdir($dh))) { next if $file eq '.'; next if $file eq '..'; $file = "$dir/$file"; if (-d $file) { push(@to_visit, $file); print $file; print "\n"; } else { } } }
output now getting is :
C:Input/INT C:\Input/INT/CAD C:\Input/INT/CAD/MH C:\Input/INT/CAD/MH/COi C:\Input/INT/CAD/MH/Dit C:\Input/INT/CAD/MH/WMp
In the above output, i don't want to print/save last blank line. expecting output to be stored in some array:
INT CAD MH COi Dit WMp