Perl + Digest :: MD5, 89 byte
$_=q(use Digest::MD5 md5_hex;say"MD5 sum of my source is: ",md5_hex"\$_=q($_);eval");eval
Nessun collegamento TIO perché Digest :: MD5 non è installato su TIO. Si noti che ciò richiede che il livello di conformità della lingua sia impostato su 5.10 o superiore ( -M5.010; questo non comporta una penalità di byte in base alle regole PPCG.
Spiegazione
Questa è un'altra sfida "stampa una funzione del codice sorgente", il che significa che può essere banalmente risolto tramite un costruttore di quine universale.
Costruttore universale di quine
$_=q(…"\$_=q($_);eval");eval
Usiamo la q()notazione di stringa (che nidifica) per inizializzare $_, la variabile "predefinita" che Perl usa per argomenti mancanti. Quindi abbiamo evalun argomento mancante, in modo che la stringa all'interno del q()venga valutata.
La stringa all'interno di q()è una descrizione di come creare l'intero programma; specifichiamo il resto del programma letteralmente, quindi usiamo un senza escape $_per sostituire l'intera stringa con l'interno.
La tecnica crea quindi una stringa con contenuti identici all'intera sorgente del programma; potremmo stamparlo per produrre un quine. Possiamo anche fare prima altre cose, creando un costruttore universale di quine.
Il resto del programma
use Digest::MD5 md5_hex;say"MD5 sum of my source is: ",md5_hex
Molto semplice: importa un built-in MD5, quindi stampa la stringa fissa specificata nella domanda (non vale la pena comprimerlo, credo che in Perl il decompressore occuperebbe più spazio rispetto alla semplice affermazione della stringa letteralmente) e usa il built-in MD5 su la stringa che abbiamo ottenuto tramite il costruttore di quine universale.