คำสั่งยกเว้นสามารถตามหลังด้วยคำสั่งอื่นที่เป็นตัวเลือก ซึ่งจะดำเนินการเมื่อนิพจน์บูลีนเป็นจริง
รูปแบบไวยากรณ์เป็นดังนี้:
เว้นแต่(boolean_expression){ # ดำเนินการเมื่อนิพจน์บูลีน boolean_expression เป็นเท็จ}else{ # ดำเนินการเมื่อนิพจน์บูลีน boolean_expression เป็นจริง}
หากนิพจน์บูลีน boolean_expression เป็นเท็จ โค้ดภายในบล็อกยกเว้นจะถูกดำเนินการ หากนิพจน์บูลีนเป็นจริง โค้ดภายในบล็อกอื่นจะถูกดำเนินการ
#!/usr/bin/perl$a = 100;# ใช้คำสั่งยกเว้นเพื่อตรวจจับนิพจน์บูลีน เว้นแต่( $a == 20 ){ # เมื่อนิพจน์บูลีนเป็นเท็จ ให้พิมพ์ printf "เงื่อนไขที่กำหนดเป็นเท็จn" ; }else{ # เมื่อนิพจน์บูลีนเป็นจริง ให้ดำเนินการ printf "เงื่อนไขที่กำหนดเป็นจริงn";}พิมพ์ "ค่าของ a คือ: $an";$a = "";# ใช้ยกเว้น คำสั่งตรวจพบนิพจน์บูลีน เว้นแต่( $a ){ # เมื่อนิพจน์บูลีนเป็นเท็จ ให้ดำเนินการ printf "a เงื่อนไขที่กำหนดเป็นเท็จn";}else{ # เมื่อนิพจน์บูลีนเป็นจริง ดำเนินการ printf "a เงื่อนไขที่กำหนดคือ truen";}พิมพ์ "ค่าของ a คือ: $an";
เมื่อรันโปรแกรมข้างต้น ผลลัพธ์ที่ได้คือ:
เงื่อนไขที่กำหนดเป็นเท็จ และค่าคือ: 100a เงื่อนไขที่กำหนดเป็นเท็จ และค่าคือ: