473,749 Members | 2,626 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Tree scanning doesnt work

2 New Member
Hello,

Ive written a perl script which should tree scan all my directories and print each passing file.. the problem is that after the first directory it enters some dots after the slash..
can you please tell me where is my mistake.. thanks for your help

(P.S i know that there is such a module however i prefer writing it by myself)

Expand|Select|Wrap|Line Numbers
  1. #! c:\perl\perl.exe
  2. use strict;
  3.  
  4. sub dir_tree {
  5.     my $dirr = shift;
  6.     print "The current directory: $dirr \n";
  7.     opendir (IN,$dirr) || die "Couldnt Open $dirr : $!\n";
  8.     while (my $current_file = readdir IN) {    
  9.  
  10.         if (-d "$dirr\\$current_file" ) {
  11.             print "Entering $dirr$current_file\\\n"; <STDIN>;
  12.             &dir_tree("$dirr$current_file\\");
  13.         }
  14.  
  15.         print "$dirr$current_file\n";
  16.     }
  17. }
  18.  
  19. print "Enter the destination directory with \ in the end \n";
  20.  
  21. my $dir = <STDIN>;
  22. chomp $dir;
  23.  
  24. &dir_tree($dir);
  25.  
  26.  
Mar 3 '07 #1
5 1496
KevinADC
4,059 Recognized Expert Specialist
the first two files in any directory is '.' and '..' you need to filter them out. Not sure why you have <STDIN> on this line:

Expand|Select|Wrap|Line Numbers
  1. print "Entering $dirr$current_file\\\n"; <STDIN>; 
Mar 3 '07 #2
mugen8
2 New Member
thanks it has worked

the stdin was for debugging purposes
Mar 3 '07 #3
KevinADC
4,059 Recognized Expert Specialist
I know it's fun to do in perl and has it's benefits, but this is is also easy using the OS:

Expand|Select|Wrap|Line Numbers
  1. my @files = qx/dir c:\/startdir \/S \/B/;
the array will now have a list all files in all sub folders in c:\startdir
Mar 3 '07 #4
ghostdog74
511 Recognized Expert Contributor
I know it's fun to do in perl and has it's benefits, but this is is also easy using the OS:

Expand|Select|Wrap|Line Numbers
  1. my @files = qx/dir c:\/startdir \/S \/B/;
the array will now have a list all files in all sub folders in c:\startdir
it's not cross platform though.
Mar 4 '07 #5
KevinADC
4,059 Recognized Expert Specialist
it's not cross platform though.
to quote myself:

know it's fun to do in perl and has it's benefits... ;)
Mar 4 '07 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

8
4066
by: David | last post by:
I have a simple tree structure where node x can have y children. Node x's children are stored in an array. I want to supply a node to a function and count the TOTAL number of children for that node. This is what I have come up with so far: function count_total_children($tree) { $num_of_c = $tree->get_num_child(); echo $num_of_c.'+';
1
1916
by: pentiumPunk | last post by:
Lets say i have a binary tree that looks like this: root -> O O <--- one of the nodes i need nodeValue's for ---> O
7
2902
by: Casper | last post by:
In scanning a drive and comparing file content, I need to remember filepaths to every single file I encounter so I can take actions on certain files later on. Rather than having a huge list enumerating the complete filepath to every file it seems the smarter way (faster, more memmory efficient) is to model the filesystem treestructure in a abstract tree - and having only the filenames & node pointer in an Array. struct tree {
2
5310
by: dannielum | last post by:
Hi all, I am trying to write a Binary Search Tree that each of its node will have 3 node pointers: left, right and parent. I need a parent pointer for some the purpose of my project. Without the pointer to the parent node, the program will be inefficient and slow. It works fine at first. However, when I started to build the remove function, it destroys the tree when I delete a node. I already changed the parent pointer whenever I delete a...
4
9019
by: Tarique Jawed | last post by:
Alright I needed some help regarding a removal of a binary search tree. Yes its for a class, and yes I have tried working on it on my own, so no patronizing please. I have most of the code working, even the removal, I just don't know how to keep track of the parent, so that I can set its child to the child of the node to be removed. IE - if I had C / \ B D
25
5358
by: prabhat143 | last post by:
Hi, Given a singly linked, null terminated list, how can it be converted to tree? Each node in the list has three attributes: it's ID, it's parent ID and of course, the next node it's pointing to. The parent id of root of the tree is 0. The length of list is not known. What will be the optimal solution? Node* convertToTree(Node* listHead);
4
2443
by: contactme.navin | last post by:
Hi, I have problem in displaying the treeview in my asp pages. I had used the obout.com tree view to display the tree navigation in the webpages. Following is the error i got in the page. Should i need to do any thing for the obout tree view configuration.
4
7432
by: shuisheng | last post by:
Dear All, I'd like to build a structure similar to the folder tree which 1. Has a root. 2. Nodes can be folder or files. 3. Folder can contain folders and files. 4. Name of folders and files under a folder can not be same. Anybody can give me some hint?
12
2330
by: Chris | last post by:
Are there any other controls which could replace List & Tree controls, because they have limitation of accepting only 32767 items. thanks a lot in advance.
0
9568
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
1
9335
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9256
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8257
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6801
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6079
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4709
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3320
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
3
2218
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.