Hi,
Please help me out to find my flaws
Please consider the following:
- It's a lot better, to use warnings; and strict; at the top of ones script
- It's modern ( ha ha... ) and a lot safer to use open 3 arugments
- Barewords as filehandles might not be too good, you can use lexical variable of your choice.
- Lastly, you will want to close, your filehandles, as soon as they are opened
Below is the reconstruct of your script.
Please, note I used regex to get what I
assumed to be first column of your data used.
Using
split or even
substr might probabily be better, if OPs data is known. I can only assume data here.
use warnings;
use strict;
open my $fh, '>', 'outfile3.txt' or die "can't open file: $!";
open my $fh2, '<', 'file1.txt' or die "can't open file: $!";
while ( defined( my $line = <$fh2> ) ) {
if ( $line =~ m{^(?<matched>.+?)\s+?.*?$}){
print {$fh} $+{matched}, $/;
}
}
close $fh2 or die "can't close file: $!";
close $fh or die "can't close file: $!";
Hope this helps.
If you tell me, I'll forget.
If you show me, I'll remember.
if you involve me, I'll understand.
--- Author
unknown to me