C:\usr\local\share\PassThru\perl>perl -wMstrict -e "sub p { local $, = qq{: }; print $], scalar(localtime), @_ }; alarm 2; $SIG{ALRM}=sub{p qq{Timeout reached\n} }; p qq{before I hit enter\n}; <>; p qq{after I hit enter\n}" 5.026002: Fri Jul 20 12:20:40 2018: before I hit enter never saw the timeout, so hit enter 5.026002: Fri Jul 20 12:20:57 2018: after I hit enter C:\usr\local\share\PassThru\perl>perl -wMstrict -e "sub p { local $, = qq{: }; print $], scalar(localtime), @_ }; alarm 2; $SIG{ALRM}=sub{p qq{Timeout reached } }; p qq{before I hit enter\n}; <>; p qq{after I hit enter\n}" 5.026002: Fri Jul 20 12:21:05 2018: before I hit enter never saw the timeout, so hit enter 5.026002: Fri Jul 20 12:21:21 2018: after I hit enter #### pryrt@pryrtdebian:~$ perl -wMstrict -e 'sub p { local $, = qq{: }; print $], scalar(localtime), @_ }; alarm 2; $SIG{ALRM}=sub{p qq{Timeout reached\n} }; p qq{before I hit enter\n}; <>; p qq{after I hit enter\n}' 5.020003: Fri Jul 20 12:23:50 2018: before I hit enter 5.020003: Fri Jul 20 12:23:52 2018: Timeout reached after two seconds, that popped up, then I typed this slowly, with ENTER 5.020003: Fri Jul 20 12:24:12 2018: after I hit enter pryrt@pryrtdebian:~$ perl -wMstrict -e 'sub p { local $, = qq{: }; print $], scalar(localtime), @_ }; alarm 2; $SIG{ALRM}=sub{p qq{Timeout reached } }; p qq{before I hit enter\n}; <>; p qq{after I hit enter\n}' 5.020003: Fri Jul 20 12:24:22 2018: before I hit enter counted to about 15, never saw timeout, typed this, hit ENTER 5.020003: Fri Jul 20 12:24:24 2018: Timeout reached 5.020003: Fri Jul 20 12:24:57 2018: after I hit enter #### __WINDOWS__ C:\usr\local\share\PassThru\perl>perl -wMstrict -le "$a=time;$SIG{ALRM}=sub{$b=time};alarm 2;<>;print $b-$a" Use of uninitialized value $b in subtraction (-) at -e line 1, <> line 1. -1532115378 __LINUX__ pryrt@pryrtdebian:~$ perl -wMstrict -le '$a=time;$SIG{ALRM}=sub{$b=time};alarm 2;<>;print $b-$a' 2 #### __WINDOWS__ C:\usr\local\share\PassThru\perl>perl -wMstrict -le "$a=time;$SIG{ALRM}=sub{$b=time};alarm 2;<>;print $b-$a;sleep 5; print $b-$a" Use of uninitialized value $b in subtraction (-) at -e line 1, <> line 1. -1532115756 10 #### __LINUX__ peter@peterjonesdebian:~$ perl -wMstrict -le '$a=time;$SIG{ALRM}=sub{$b=time};alarm 2;<>;print $b-$a;sleep 5;print $b-$a' 2 2