diff options
-rw-r--r-- | readme_generator.pl | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/readme_generator.pl b/readme_generator.pl index 20e7312..5a997e4 100644 --- a/readme_generator.pl +++ b/readme_generator.pl @@ -12,8 +12,11 @@ use warnings; use File::Find; use File::Spec; use Pod::Markdown; +use feature qw/say/; +use Cwd; +my @dirs = map { File::Spec->catdir(getcwd(), $_) } @ARGV; -my @dirs = @ARGV // '.'; +die unless @dirs; find(\&wanted, @dirs); @@ -22,30 +25,31 @@ sub wanted { return unless $file =~ m/\.pl$/; _err("processing file: $path"); + read_input_file($dir, $file); } sub read_input_file { - my ($path, $filename) = @_; + my ($dir, $filename) = @_; - my $filepath = File::Spec->catfile($path, $filename); + my $filepath = File::Spec->catfile($dir, $filename); - open my $rfh, '<', $filepath or die "Couldn't open $filepath for output: $!"; + open my $rfh, '<', $filepath or die "Couldn't open $filepath for input: $!"; _err("reading $filepath"); my $parser = Pod::Markdown->new; - $parser->parse($rfh); + $parser->parse_from_filehandle($rfh); close $rfh; - create_output_file($path, 'README.md', $parser); + create_output_file($dir, 'README.md', $parser); } sub create_output_file { - my ($path, $filename, $parser) = @_; + my ($dir, $filename, $parser) = @_; - my $filepath = File::Spec->catfile($path, $filename); + my $filepath = File::Spec->catfile($dir, $filename); _err("Writing to $filepath"); @@ -57,5 +61,5 @@ sub create_output_file { sub _err { my ($msg, @args) = @_; my $str = sprintf($msg, @args); - print STDERR $str; + say STDERR $str; } |