#!/usr/bin/perl -w use stritct; my $c1 = 'system("touch /tmp/test1.txt")'; my $c2 = 'system("touch /tmp/test2.txt")'; #used as string (Dangerous!!!) eval $c1; #used as block (ok) eval {$c2}; # <- gives a useless use of private variable in void context.