my @stock; open FILE, "stockfile"; while() { push @stock,$_; } close FILE; while(@stock) { foreach $line (@stock) { @items = split ´|´, $line; open $item[2], ">>some_filename"; put_items_into_it; close $item[2] delete_that_line_from_stock; } }