Backslash found where operator expected ... near "store_fd \"
- это ошибка, которую вы получите, если у вас есть строка
store_fd \%hash, $file1;
и вы не определили функцию store_fd
. Сохраняемый не экспортирует store_fd
по умолчанию;Вы должны попросить об этом.Похоже, что вы этого не сделали.
Из некоторых ваших комментариев также возможно, что вы неправильно написали имя функции.Perl чувствителен к регистру;Store_fd
- это совершенно отдельная функция от store_fd
.
Вот полный пример:
#!/usr/bin/perl
use strict;
use warnings;
use Storable qw(store_fd);
my %hash = (key => 'value');
my $file1;
open $file1, '>', "result.stored" or die $!;
store_fd \%hash, $file1;
Обратите внимание, что вы не должны записывать в файл с именем result.xml
, используя Storable, потому чтоХранимый не пишет XML.Он пишет свой собственный формат.Если вы хотите написать XML, вы можете использовать другой модуль, например XML :: Simple или XML :: Writer .Но вам придется более подробно рассказать о том, как вы хотите, чтобы ваш XML выглядел, прежде чем я смогу дать вам достойный пример этого.