perl - ファイル操作 - ファイルの先頭の文字列をチェック
- 1. ファイルの先頭の文字列をチェック
1. ファイルの先頭の文字列をチェック
やりたかったのは、このサイトの html ファイルで、先頭行が <!DOCTYPE html> になっていないファイルがあるので、それを抽出したかっただけ・・・。
#!/usr/local/bin/perl
BEGIN
{
use lib './';
};
use strict;
use FileList;
sub main
{
my @argv = @_;
my $root = $argv[0];
my $list = FileList->new();
my $filelist = $list->get($root, 'html');
foreach my $name (sort(@$filelist))
{
my $result = check($name);
if ($result)
{
print "$name \n";
}
}
}
sub check
{
my $name = shift;
my $check = undef;
open(IN, "< $name"); # 読込オープン
my $read = <IN>;
close(IN); # クローズ
if ($read !~ /^<!DOCTYPE html>/)
{
$check = 1;
}
return $check;
}
main(@ARGV);
いつか機会があれば、解説を書きますが、とてもサンプルにはならないなぁ。
FileList に関しては「perl - クラスライブラリ」をご参照ください。
> ./ソースファイル.pl ディレクトリ
で動作します。
|
|