Всегда включите предупреждения и ограничения, чтобы вы раньше узнали, что пошло не так, и получите более подробную информацию, почему:
#!/usr/local/bin/perl
use strict;
use warnings;
Всегда используйте лексическую переменную, форму с тремя аргументами open
(здесь есть большое обсуждение , почему здесь ), и всегда проверяйте возвращаемое значение (оно вернет ошибку, если что-то пошло не так и укажите причину, по которой переменная $!
( см. в разделе $!
в perldoc perlvar ). Кроме того, die
выведет номер строки, из которой программа вышла если вы не заканчиваете свою строку с \n
(больше на perldoc -f die ).
open my $file, '>>', 'data.xml' or die "Can't open file: $!";
И используйте двойные кавычки вокруг \n
, чтобы он печатался правильно:
print $file '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
print $file '<?xml version="1.0" encoding="UTF-16"?>' . "\n";
close $file;