Per citare perlvar
:
... il valore di
$/
è una stringa, non è un'espressione regolare.awk
deve essere migliore per qualcosa. :-)
Non è difficile pensare a situazioni in cui una tale funzione sarebbe utile - l'analisi di file con record a lunghezza variabile è un caso d'uso classico che ho riscontrato molte volte.
Finora non ho mai avuto problemi a caricare l'intero file in memoria e fare un:
my @records = split /my_regex/, <> ;
ma per ovvie ragioni di questa tecnica non può essere utilizzato in situazioni in cui la memoria disponibile è insufficiente. In effetti, molte volte non è necessario memorizzare tutti i record contemporaneamente.
Che mi riporta a $/
.
Trovo strano che la lingua non abbia predisposto il supporto regex per $/
. Questo è stato fatto dal design? È semplicemente impossibile da implementare? Quali altre soluzioni esistono che possono essere considerate come le migliori pratiche in assenza di quella che sarebbe una caratteristica elegante?
[ 'Acme :: InputRecordSeparatorIsRegexp'] (https://metacpan.org/pod/Acme::InputRecordSeparatorIsRegexp) – mob
@mob: Non si poteva lasciare che awk farla franca, ora, vero? :) – Zaid