in reply to -T and Safe.pm

Your path to do.pl is insecure: it depends on the current working directory. Try
#!/usr/bin/perl -T use warnings; use strict; use Safe; my $s = new Safe 'SAFE'; $s->permit(qw( print )); $s->share_from('main',['*STDOUT']); $s->rdo('/home/joost/do.pl'); # put your full path here. if($@){ print "Error: $@"; } else { print "No Error.\n"; }