<?xml version="1.0" encoding="windows-1252"?>
<node id="1007714" title="Re: perl script to print just directory names" created="2012-12-07 06:20:39" updated="2012-12-07 06:20:39">
<type id="11">
note</type>
<author id="1006001">
Vijay81</author>
<data>
<field name="doctext">
&lt;p&gt;Thanks Everyone.

able to get just directory names using File::Basename.

but can please someone show me how to store these basenames in some sort of array so that i can use them later part in the code.&lt;/p&gt; 

Main script:
&lt;code&gt;
#! /usr/bin/perl

use strict;
use warnings;
use File::Basename;
use Data::Dumper;

my $base_dir = 'C:Input/INT';

my @dir = $base_dir;
my @dir_names;

while (@dir) {
   my $dir = pop(@dir);

   opendir(my $dh, $dir);

   my $file;
   while($file = readdir($dh)) {
      next if $file eq '.';
      next if $file eq '..';

      $file = "$dir/$file";

      if (-d $file) {
         push(@dir, $file);
		 print basename($file);
		 #@dir_names=basename($file);
		 print "\n";
		 } else {
 
      }
   }
}
&lt;/code&gt;

getting output as :
&lt;code&gt;
CAD
MH
COi
Dit
WMp
&lt;/code&gt;

Instead of that i need to store the directory base names in array say @dir_names and print them one by one like
$dir_names[0] = CAD
$dir_names[1] = MH
$dir_names[2] = COi
..
..
..</field>
<field name="root_node">
1007640</field>
<field name="parent_node">
1007640</field>
</data>
</node>
