equal
  deleted
  inserted
  replaced
  
    
    
|         |      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 } |