#!/usr/bin/perl use strict; use warnings; use File::Path qw(make_path); my $x='x'; my $y='y'; my $dirname = "$x/$y"; make_path( $dirname , { chmod => 0777, }); my $output="$dirname/z.txt"; open ( my $fh, ">", $output ) or die "Cannot open file '$output': $!\n"; print $fh "\n It's ok.\n"; close $output; print "\n Program is over.\n";