while (<>) {                              # επανάλαβε για κάθε γραμμή εισόδου
    next if !/<[hH][123][^>]*>/;            # άλμα στην επόμενη επανάληψη
    while (!/<\/[hH][123]>/) { $_ .= <>; }  # πρόσθεσε επόμενη γραμμή στο $_
    s/.*?(<[hH][123][^>]*>.*?<\/[hH][123]>)//s;
        # ελάχιστο ταίριασμα; η έκφραση με παρενθέσεις μπαίνει στο $1
    print $1, "\n";
    redo unless eof;    # συνέχισε χωρίς να διαβάσεις επόμενη γραμμή
}
