Здравствуйте!Помогите чайнику решить проблему, пожалуйста! :) Имеются наборы файлов, содержимое которых надо пакетно обработать под FreeBSD перловым скриптом. Файлы сделаны частично досе, частично в винде (я так предполагаю). Во всяком случае, содержимое везде в cp866. Имена файлов частично длинные русские виндовые, частично в ДОС-формате (8.3, латиница). Когда я их переношу на фрю, то в mc корректно отображаются русские имена, а по ls видны вопросительные знаки вместо имен там где киррилица. Файлы с дос именами видятся корректно. Перегнал русские имена в транслит. Все стало видется корректно, а вот перловый open() все равно открывает только ту, часть, которая изначально была досовой. Скриптом укоротил файлам имена до 8 символов (из перла!). Обработка прошла нормально, а открываться они даже с такими именами не хотят... :(
С правами доступа на файлы и каталоги - все ок. Работаю через su. Ниже привожу кусочек кода, который пытается получить список и открыть все его элементы. Комменты специально не убирал. Помогите, плиз - перебрал все, что мог, а оно все равно не работает!!!
#!/usr/bin/perl
#opendir MYDIR,'.';
#@myfiles=grep !/^\.+$/,readdir MYDIR;
#@myfiles=readdir MYDIR;
#closedir MYDIR;
system('ls > mylist');
unless($success = open(MYDIR,"mylist"))
{
die "Файл не был открыт.\n Причина: $!\n."
}
@myfiles=<MYDIR>;
close MYDIR;
unless($success = open(MYOUT,"+>/var/tmp/mycsvfile"))
{
die "Файл не был открыт.\n Причина: $!\n."
}
foreach(@myfiles)
{
unless($success = open(MYTMP,$_))
{
die "Файл не был открыт.\n Причина: $!\n."}