C'è un modo semplice per dire a perl "ora ignorare tutto ciò che viene stampato"?Come posso disattivare temporaneamente STDOUT in un programma Perl?
Devo chiamare una procedura in un modulo Perl esterno, ma la procedura stampa molte informazioni non necessarie (tutto tramite lo standard stampa).
so selezionare può essere utilizzato per reindirizzare in qualche modo, ma non sono troppo saggio dalla lettura perldoc su di esso.
Edit: Ho trovato la risposta più presto, ma io lo renderò un esempio per renderlo più chiaro (ma non molto suppongo)
use TectoMT::Scenario;
use TectoMT::Document;
sub tagDocuments {
my @documents = @_;
my $scenario = TectoMT::Scenario->new({'blocks'=> [ qw(
SCzechW_to_SCzechM::Sentence_segmentation
SCzechW_to_SCzechM::Tokenize
SCzechW_to_SCzechM::TagHajic
SCzechM_to_SCzechN::Czech_named_ent_SVM_recognizer) ]});
$scenario->apply_on_tmt_documents(@documents);
return @documents;
}
TectoMT :: scenario e Document TectoMT :: sono quelli esterni I moduli
Prova questa: aperto STDOUT, ">/dev/null"; non è sicuro che cosa succederà ... – Havenard
Come stai chiamando quei moduli? Puoi fornire qualche codice o qualche esempio? –
Peter: tramite una chiamata standard :) Aggiungerò un esempio concreto in ogni caso, ho trovato una risposta prima. Lo posterò come risposta alla mia stessa domanda. –