diff -r 8e064c262aa5 -r 9fe9837ac877 lib/App/read_httpd_conf.pm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/App/read_httpd_conf.pm Mon Jul 14 15:59:04 2014 +0200 @@ -0,0 +1,35 @@ +package App::read_httpd_conf; + +use 5.010; +use strict; +use warnings; +use Carp; +use File::Basename; +use Pod::Usage; + +our $VERSION = '0.1'; + +sub main { + shift if $_[0] eq __PACKAGE__; + return read_file(@_) ? 0 : 1; +} + +sub read_file { + my ($file, $basedir) = @_; + $basedir //= dirname $file; + open(my $fh, '<', $file) + or croak "Can't open $file: $!\n"; + say "# 1 $file"; + while (<$fh>) { + if (/^\s*include\s+(?["'])?(?.*?)\k?\s*$/i) { + my $file = $+{file} =~ m{^/} ? $+{file} : "$basedir/$+{file}"; + say "# $. $file INCLUDE $+{file}"; + read_file($_, $basedir) foreach (glob -d $file ? "$file/*" : $file); + next; + } + print; + } + return 1; +} + +1;