use File::Split; my $fs = File::Split->new({keepSource=>'1'}); #####Based on Number of Lines my $files_out = $fs->split_file({'lines' => 1000},'E:\test\test.xml'); #####Based on Number of Files my $files_out = $fs->split_file({'parts' => 10},'E:\test\test.xml');