What is the purpose of using "program block" in Systemverilog?

In reply to shahkavish77:

No, not at all. RTL designs deal with multiple clocks all the time and there is no need for additional constructs if you understand Verilog semantics,