sub literalize { ???? } sub assert($) { my ($condition) = @_; my $literal_condition_code = literalize(@_); if ($condition) { print "assertion failed: $literal_condition_code\n"; } } assert(42 == 24); #### assertion failed: 42 == 24 #### #define assert(condition) { if (!condition) { printf("assertion failed: %s\n", #condition); } }