Files correlati : Commento : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Perl
		
	
	
	
	
	
| #!@PERL@
 | |
| #
 | |
| # Author:  Daniel Stenberg <Daniel.Stenberg@sth.frontec.se>
 | |
| # Date:    August 25 1998
 | |
| # Version: 0.1
 | |
| #
 | |
| # This is just meant as an example of why we wrote curl in the first place.
 | |
| # Quick n' easy scripting use.
 | |
| #
 | |
| 
 | |
| $dir = $ARGV[0];
 | |
| 
 | |
| $target = $ARGV[1];
 | |
| 
 | |
| $maxdepth = $ARGV[2];
 | |
| 
 | |
| if($dir eq "" || $target eq "") {
 | |
|     print "Usage: <URL> <dir> [max depth level] \n";
 | |
|     print " End the URL with a slash if a directory is specified, please\n";
 | |
|     exit;
 | |
| }
 | |
| 
 | |
| if(($maxdepth ne "") && ($maxdepth == 0)) {
 | |
|     # reached maximum depth, die
 | |
|     print "Reached maximum recursive depth level ($maxdepth), exiting...\n";
 | |
|     exit;
 | |
| }
 | |
| 
 | |
| # get dir
 | |
| @all = `curl -s $dir`;
 | |
| 
 | |
| if($all[0] ne "") {
 | |
|     print "Got the main $dir dir\n";
 | |
| }
 | |
| 
 | |
| line:
 | |
| for(@all) {
 | |
|     chop; # cut off newline
 | |
|     @linep= split(" ", $_);
 | |
| 
 | |
|     $name = $linep[$#linep];
 | |
| 
 | |
|     $firstletter=substr($linep[0], 0, 1);
 | |
| 
 | |
|     if($firstletter eq "d") {
 | |
|         # this is a subdir, recurse
 | |
|         # if not . or .. of course
 | |
| 
 | |
|         if(($name eq ".") || ($name eq "..")) {
 | |
|             next line;
 | |
|         }
 | |
|         print "Recursing for dir $dir$name in target $target/$name\n";
 | |
| 
 | |
|         $nextdepth=$maxdepth-1;
 | |
|         print `$0 $dir$name/ $target/$name $nextdepth`;
 | |
|     }
 | |
|     elsif($firstletter eq "-") {
 | |
|         # this is a file, get it
 | |
|         # oh, make sure the target dir exists first
 | |
| 
 | |
|         if(! -r $target ) {
 | |
|             mkdir($target,0777);
 | |
|         }
 | |
|         print "Getting file $dir$name in target $target/$name\n";
 | |
|         print `curl -s $dir$name >$target/$name`;
 | |
|     }
 | |
| }
 |