my $fn = 'file.dat'; $/ = "AZI\n"; open my $fh, '<', $fn or die "cant stand smell of $!"; my @images = <$fh>; close $fh; my $num = 1110; for my $img (@images) { open $fh, '>', ++$num .'.tiff' or die "can't dump image! $!"; print $fh $img } #### ... while( my $img = <$fh> ) { # read one record # [update $fh => $ih] open my $ih, '>', ++$num .'.tiff' or die "can't dump image! $!"; print $ih $img } ...