#!/usr/bin/env perl use strict; use warnings; my $total_sleep_time = 0; BEGIN { *CORE::GLOBAL::rand = sub { my $parent = (caller(1))[3] // ""; if( $parent =~ /abc/ ){ return CORE::rand() } return 123; }; } print "fake rand: ".rand()."\n"; abc(); sub abc { print "real rand(): ".rand()."\n" }