Timing Checks in a monitor

Thanks for the suggestion…But lets suppose i have to do that in monitor,i was thinking of using $setup,$hold etc for that.(if you know system verilog altrnative for these tasks,please do tell)
Im not sure if i can use a specify block inside monitor’s run task.Also specify block doesnt work on some compilers.