#!/usr/bin/perl use strict; use warnings; # FIND THE PATH TO THE Directory: my $dir = $ARGV[0]; opendir(DIR, $dir) or die $!; # select for files with names containing txt.fit my @files= grep { /txt.fit/ } readdir DIR; closedir DIR; # Read files line by line foreach my $file(@files) { open IN, "<$file" or die $!; my $tree = (); while() { # skip everything in file not conatining Tree mixture next unless ($_ =~ m/Tree mixture/); # remove content from line thats unwanted in output $tree = $_; $tree =~s/Tree mixtureTree=//; } #name output file after input file but add .tre my $outfile = "$file.tre"; # here i 'open' the file, saying i want to write to it with the '>>' symbol open (FILE, ">> $outfile") || die "problem opening $outfile\n"; print FILE $tree; }