Help regarding a Perl Program


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help regarding a Perl Program
# 1  
Old 02-27-2012
Data Help regarding a Perl Program

I want to traverse a durectory for a particular file. Situataion is like this. Path is ABC/a/c/g. it has around 100 folders in it.
Search a directory which has word "*latest*" in its path.
and then from the latest go through z/x/c to file final.html.

In total, i want it to go through ABC/a/c/g/*latest*/z/x/c/final.html. This way I want my perl script to search for all the 6 out of the 100 final.html files.

I also want the whole path printed after it finds the final.html files.

Any ideas or hints will be highly appreciated.

Thanks
# 2  
Old 02-27-2012
Code:
perldoc -f opendir 
perldoc -f readdir

I'm not sure I follow your question but you can use the above to to read through directories and thus select your file.
something like the following may suit or at least be hackable into something that suits
Code:
my $base='ABC/a/c/g';
my $tail='z/x/c';
opendir BASE, $base;
my @subdirs = readir BASE;
for my $dir (@subdirs){
   if (($dir=~/latest/) && ( -d "$base/$dir")){
      if ( -f  "$base/$dir/$tail/final.html"){
         print "$base/$dir/$tail/final.html";
      }
   }
}

Of course I may have wildly misunderstood your spec and something like File::Find may be more suitable for your needs.
This User Gave Thanks to Skrynesaver For This Post:
# 3  
Old 02-27-2012
Question

Thanks for the help.
but if latest was only a part of my string what should i do.
i mean i have folder like
'ABC/a/c/g(base) /123_latest_6678090765abcww12/ Tail?

I am am trying to learn perl and thinking of what all i can handle with various scenarios.

Will be glad if you can help.

Thanks

Quote:
Originally Posted by Skrynesaver
Code:
perldoc -f opendir 
perldoc -f readdir

I'm not sure I follow your question but you can use the above to to read through directories and thus select your file.
something like the following may suit or at least be hackable into something that suits
Code:
my $base='ABC/a/c/g';
my $tail='z/x/c';
opendir BASE, $base;
my @subdirs = readir BASE;
for my $dir (@subdirs){
   if (($dir=~/latest/) && ( -d "$base/$dir")){
      if ( -f  "$base/$dir/$tail/final.html"){
         print "$base/$dir/$tail/final.html";
      }
   }
}

Of course I may have wildly misunderstood your spec and something like File::Find may be more suitable for your needs.
# 4  
Old 02-28-2012
@hemasid: I think the solution provided by Skrynesaver in post #2 fits your question. If not, what is it that you're exactly looking for?

if (($dir=~/latest/) && ( -d "$base/$dir")) --> This line decides if a file in "ABC/a/b/g" contains the string "latest" in it and is a directory.

It'll look for "final.html" in directories like "ABC/a/b/g/123_latest_hello/z/x/c/", "ABC/a/b/g/IMlatestDIR/z/x/c/", etc..
This User Gave Thanks to balajesuri For This Post:
# 5  
Old 02-28-2012
Thanks a lot Skrynesaver amd balajesuri.

Really appreciate your help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perl program get a response before the program quits

I created a program, so a kid can practice there math on it. It dispenses varies math problems and the kid must input an answer. I also want it to grade the work they have done, but I can't find the best place for it to print out the grade. I have: if ( $response =~ m/^/ ) { $user_wants_to_quit... (1 Reply)
Discussion started by: germany1517
1 Replies

2. Shell Programming and Scripting

Perl program

can anyone help me out to write a code by connecting to the sql database and I need to print the list of tables present in the databse. any ideas please. (1 Reply)
Discussion started by: ramkumar15
1 Replies

3. Shell Programming and Scripting

getting no output with my perl program

hi, i have posted the same kind of the question in some other forum of the same site. but realized that it is supposed to be here so i am reposting it .this is the perl script written to check for particular pattern. my file 1 would look like this hwk:678:9878:asd:09: abc cfgb 12 nmjk ......... (3 Replies)
Discussion started by: anurupa777
3 Replies

4. Programming

Perl program

Hi I am new to perl, i need to write a program to convert horizontal words to vertical eg: cat, dog, cow,.....(text file) this should be written as 1.cat 2.dog like this. can u pls help me to work out.. (4 Replies)
Discussion started by: nitha
4 Replies

5. Shell Programming and Scripting

Exiting a program! - perl

how would you exit out of a programm correctly, without having for the program to crash? for example print "Enter quit"; $input = <STDIN>; if ($input eq "quit") { {QUIT THE PROGRAM} } else { print "invalid input"; } one more thing, how do u exit a program "correctly", if... (3 Replies)
Discussion started by: bshell_1214
3 Replies

6. Homework & Coursework Questions

Calling compiled C program with Perl program

Long story short: I'm working inside of a Unix SSH under a bash shell. I have to code a C program that generates a random number. Then I have to call the compiled C program with a Perl program to run the C program 20 times and put all the generated random #s into a text file, then print that text... (1 Reply)
Discussion started by: jdkirby
1 Replies

7. Shell Programming and Scripting

perl program

could i get any help with how to link this program together. i dont know what to put where the X's are print `flush`; thank(); #print thank header use Getopt::Std; # use declaration with the options function getopts("ld:") or usage() and exit; ... (3 Replies)
Discussion started by: livewire06
3 Replies

8. Shell Programming and Scripting

perl program

I wish to write a Perl program that will provide a listing of files in a directory. The files must be listed in sorted order by the file name. • By default, the program displays only file names. • By default, the program lists the files in the current directory. • The program must provide the... (2 Replies)
Discussion started by: livewire06
2 Replies

9. Linux

an error in perl program

Hi I am having a file with 243 lines.. The file format s given below eg P25787 hsa03050 1 P20618 hsa03050 1 P25786 hsa03050 1 P49721 hsa03050 1 P54132 hsa03440 1 Q13472 hsa03470 1 Q05513 hsa04530 hsa04910 hsa04930 3 Q04759 ... (0 Replies)
Discussion started by: binnybio
0 Replies

10. Shell Programming and Scripting

My crap PERL program

Hey all, I've been trying to learn Perl on my BSD box. When it came to printing the files out, it bothered me that the lines weren't numbered. So here's my little *crap* claim to some-form-of-fame Perl script which numbers files: ... (9 Replies)
Discussion started by: WIntellect
9 Replies
Login or Register to Ask a Question