# HG changeset patch # User Heiko Schlittermann (JUMPER) # Date 1397051235 -7200 # Node ID bd0f8dc30ae07285c6997d01a1e95721af6887c5 # Parent 8e064c262aa5f14464e003235a36f1322318832f# Parent 68f19d9cfd9ae6686b4269b4434ae17c9c0b4be0 [merged] the fixes diff -r 68f19d9cfd9a -r bd0f8dc30ae0 read-httpd-conf --- a/read-httpd-conf Mon Mar 03 12:46:18 2014 +0100 +++ b/read-httpd-conf Wed Apr 09 15:47:15 2014 +0200 @@ -3,18 +3,20 @@ use strict; use warnings; use Carp; +use File::Basename; our $VERSION = 0.01; sub read_file { - my $file = shift; + my ($file, $basedir) = @_; 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($_) foreach (glob $+{file}); + read_file($_, $basedir) foreach (glob -d $file ? "$file/*" : $file); next; } print; @@ -24,4 +26,4 @@ die "$0: Need file name (httpd.conf)\n" unless @ARGV; -read_file(shift); +read_file($ARGV[0], dirname($ARGV[0]));