File: fixblank.pl

package info (click to toggle)
doc-linux-fr 2001.09-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 5,000 kB
  • ctags: 3
  • sloc: makefile: 67; perl: 55; sh: 8
file content (63 lines) | stat: -rw-r--r-- 1,327 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/perl -w

use strict;

$^I = "";

die("Il faut spcifier un argument\n") if (! $ARGV[0]);

my $dir = $ARGV[0]; #plus court

die("$dir n'est pas un rpertoire\n") if ( ! -d $dir );
die("$dir n'est pas accessible en lecture\n") if ( ! (-r $dir) );

&fonc_dir($dir);


sub fonc_dir
{
	die("La fonction rcursive a t appel sans argument") if (not @_);
	my $local_dir = $_[0]; 
	die("$local_dir : $!\n") if ( ! ( (-d $local_dir) && (-r $local_dir) ) );
	opendir(LOCAL_DIR,$local_dir) || die("opendir a chou : $!\n");
	my @dirs;
	my $have_html;
	my @temp;
	@temp = readdir(LOCAL_DIR);
	closedir(LOCAL_DIR);
#	@dirs va contenir la liste des sous rpertoires de $local_dir
	@dirs = grep {(! /^\./) && (-d "$local_dir/$_")} @temp;
	$have_html = grep { (-f "$local_dir/$_") && (/.*\.html/) } @temp;
	my $next_dir;
	foreach $next_dir (@dirs)
	{
		$next_dir = "$local_dir/$next_dir";
		
#		rcursivit
		&fonc_dir($next_dir);
	}
	return if ( ! $have_html );

#	dbut du traitement
	my $deja = 0;
	my @ARG;
	@ARG = `file $local_dir/*.html | grep -v HTML`;
	map {s/^\s*(.*?)\:.*$/$1/} @ARG;
	map chomp,@ARG;
	my $fichier;

	foreach $fichier (@ARG)
	{
		@ARGV = $fichier;
		print("$fichier\n");
		$deja = 0;
		while (<>)
		{
			print,next if ($deja == 1);
			s/^\s*//;
			next if ( $_ eq "" );
			$deja = 1;
			print;
		}
	}
}