#!/usr/bin/perl use strict; use warnings; use File::Copy qw(copy); my $quelle = $ARGV[0]; my ($ziel) = $quelle =~ /(.*)\.[^.]+$/; copy( $quelle, $ziel . '2.txt' ); my @entries; { open my $in,"<",$quelle or die "konnte $quelle nicht oeffnen,$!\n"; local $/ = "DUT No\n"; while( my $entry = <$in> ){ chomp $entry; next unless $entry; push @entries, $entry; } close $in; } for my $entry ( @entries ){ my ($serial) = $entry =~ /Measurement:([0-9]{10})/; open my $out, '>', $serial . '.txt'; print $out "DUT No\n",$entry; close $out; }