Signalai, klaidų apdorojimas

%SIG
masyvas, kuriame saugomos nuorodos į funkcijas, kurias reikia įvykdyti, jei programa "gauna tam tikrą signalą".
funkcijos yra siejamos su vardais, pvz.: $SIG{QUIT} = sub { die "Signalas!";};
yra specialūs indeksai __WARN__ ir __DIE__, kuriais nurodytos funkcijos bus iškviestos, jei programoje bus vykdomi warn ir die operatoriai;
vykdant taip nurodytas funkcijas į atitinkamą %SIG masyvo elementą nekreipiama dėmesio, kad funkcijose būtų galima naudoti warn ir die be jokių apribojimų. Įvykdžius per %SIG{__DIE__} nurodytą funkciją toliau užbaiginėjamas programos vykdymas (išskyrus tuos atvejus, kai išeinama iš jos per goto funkcija, išėjimą iš ciklo, arba funkciją die.
Simbolinė nuoroda liepia vykdyti funkcija iš modulio main; nesimbolinė - iš einamojo modulio
DEFAULT atšaukia anksčiau priskirtą funkciją;
IGNORE nurodo, kad toks signalas turi būti ignoruojamas;
%SIG gali buti lokalizuotas. Tada visi pakeitimai galios tik kol nebus išeita iš einamojo bloko
kill proceso_numeris,signalas
siunčia nurodytą signalą nurodytam procesui.
signalas su numeriu 0 tik patikrina, ar imanoma siųsti nurodytą signalą nurodytam procesui.
eval išraiška
sukompiliuojama ir įvykdoma išraiška. Paskutinis suskaičiuotas rezultatas yra grąžinamas kaip eval reikšmė. Jei buvo kompiliavimo ar vykdymo klaidų, pranešimų apie jas tekstas yra grąžinamas spec.kintamajame $@. Jei klaidų nebuvo, $@ garantuotai bus lygi ''.
eval blokas
kaip ir ankstesniu atveju, tačiau blokas kompiliuojamas tik vieną kartą. Be to turi būti sintaktiškai teisingas, kad viso skripto kompiliacija būtų sėkminga.
eval naudojimas
patikrinimui, ar konkreti realizacija turi tam tikras galimybes (darbas su tinklu, simboliniai ryšiai ir pan.), bei atliekant operacijas, kurios nebūtinai bus sėkmingos (vartotojo pateiktos išraiškos skaičiavimas ir pan.)