in reply to Input Output Question

Here's a complete example of a search/replace using opendir. This will replace tabs with spaces in the input directory, saving the result in the output directory. Both directories must already exist. Hopefully this will illustrate the structure you can follow. Note that the "code" directory is irrelevant (as far as the script is concerned).

#!/usr/bin/env perl use 5.012; use warnings; use autodie; use Getopt::Long; # Replace tabs with 4 spaces my $verbose = 0; GetOptions(verbose => \$verbose); die "Usage: $0 [--verbose] input_path output_path" if @ARGV != 2; map { die "$_ is not a directory, or does not exist\n" unless -d } @AR +GV; my ($input, $output) = @ARGV; opendir my ($in_dir), $input; for (sort grep { -f "$input/$_" } readdir $in_dir) { say if $verbose; open my $in, '<', "$input/$_"; open my $out, '>', "$output/$_"; while (<$in>) { s/\t/ /sg; print $out $_; } close $in; close $out; } closedir $in_dir;

Replies are listed 'Best First'.
Re^2: Input Output Question
by perlmonk007 (Novice) on Jul 15, 2013 at 07:01 UTC

    thank you, I am still trying to figure this out will let you know how it goes