scripts/din2d
changeset 5 3e135449f797
child 20 3f164cb8d543
equal deleted inserted replaced
4:992c1b212004 5:3e135449f797
       
     1 #!/usr/bin/perl
       
     2 # Dockerfile.in -> Dockerfile
       
     3 # currently just resolve .include ..
       
     4 
       
     5 use strict;
       
     6 use warnings;
       
     7 use Cwd qw(abs_path);
       
     8 use File::Basename qw(dirname);
       
     9 use Getopt::Long;
       
    10 
       
    11 while (<>) {
       
    12     /^\.include_if_exists\s+(.+?)\s*$/ or next;
       
    13     $_ = "# from $1 {{\n" . do { 
       
    14 	my $file = abs_path(dirname($ARGV) . "/$1");
       
    15 	open(my $in, '<', $file) or die "Can't open $file: $!\n";
       
    16 	local $/ = undef;
       
    17 	<$in>;
       
    18     } 
       
    19     . "# }}\n";
       
    20 }
       
    21 continue {
       
    22     print if defined;
       
    23 }