I used
CGI::Carp
and
CGI::Debug. You can customize all your error messages and go from there.
The BEGIN block redirects the error message to the browser and prints out the message with a little extra from CGI::Debug.
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use CGI::Debug;
use CGI::Carp qw( fatalsToBrowser );
BEGIN {
sub carp_error {
my $error_message = shift;
my $q = new CGI;
$q->start_html( "Not able to create directory" ),
$q->h1( "Error" ),
$q->p( "Not able to create directory" ),
$q->p( $q->i( $error_message ) ),
$q->end_html;
}
CGI::Carp::set_message( \&carp_error );
}
system("mkdir -p test");
if ($@) {
print "Not able to create directory\n";
}