#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use File::Copy qw(cp); # Datei die überprüft werden soll my $file = '/path/to/file'; { open my $fh, '<',$file or die $!; local $/ = "\n\n"; # $/ auf "Leerzeile" setzen while(my $entry = <$fh>){ my ($key,@lines) = split /\n/,$entry; $key =~ s!\[(.*?)\]!$1!; mkdir $key; for my $line(@lines){ cp $line, $key.'/'.$line; } } close $fh; }