in reply to Re^5: Read from multiple files change the data with a script and the write the respective output files with a different extension -- plain english
in thread Read from multiple files change the data with a script and the write the respective output files with a different extension
Thank you for yor help, but there are still some things I didn't understand...so this is my code:
#!/usr/bin/perl use warnings; use strict; sub process_file { my ($original, $final) = @_; open( my $original_fh, "<", $original ) or die $!; open( my $final_fh, ">", $final ) or die $!; my $first = <$original_fh>; print $final_fh $first; my @replace = $first =~ /"([^"]*)"/g; while (my $line = <$original_fh>) { print "Enter the desired number of columns: "; my $nr = <STDIN>; chomp($nr); $line =~ s/((\w\w\t){$nr})/$1\n/g; $line =~ s/\t/,/g; $line =~ s/(\d{2})/$replace[$1]/g; print $final_fh $line; } close $original_fh; close $final_fh; } my @files = glob '*.bit'; for my $name (@files) { my $new_file = $name =~ s/bit$/csv/r; process_file($name, $new_file); }
so I used glob to fill @files, the statement to ask the user has to be in the while loop so it can transform the files by the number entered(after I finish the working code I will make it more robust and cautious) and the source for read and output for write are opened so I don't think I have to open them again. Do you have any advice for my specific code so I can finally understand? Thank you for your effort!
|
|---|