in reply to Execute on conditional check

if ($time_val = "01:01:00") {

I'm not really sure I understand what exactly you need to do... (something like cron?)  but replacing the assignment with a comparison will likely get you closer to success:

if ($time_val eq "01:01:00") {

Similarly, putting the ... = localtime time  in the loop, so the values to check against will actually change.

Also, you probably meant  system "./abc.sh PB"; to run the shell script.

Other than that, maybe add a sleep in the loop, so you don't consume unnecessarily large amounts of CPU power...