codice:
  open(LEGGI,"<lista.txt") || die "Error: (read_lista_txt) lista.txt\n$!";
   flock(LEGGI,1);
    while(<LEGGI>)
    {
     ($news_id,$news_title,$news_status) = split(/\|/, $_);
     $lista_txt{$news_id} = [ $news_title,$news_status ];
    }
   flock(LEGGI,8);
  close(LEGGI);

delete $lista_txt{$id}

  open(SCRIVI,"+< lista.txt") || die "Error: (write_lista_txt) lista.txt\n$!";
   flock(SCRIVI,2);
    seek(SCRIVI,0,0); truncate(SCRIVI,0);
     foreach (sort (keys %lista_txt) )
     {
      $riga = $_ . '|' . $lista_txt{$_}[0] . '|' . $lista_txt{$_}[1] . '|';
      print SCRIVI "$riga\n";
     }
   flock(SCRIVI,8);
  close(SCRIVI);
se volessi mettere la parte dopo delete in una sub come potrei passargli l'hash? direttamente o in riferimento? (potreste farmi un esempio pratico?

Grazie...