It seems to have nothing to do with long paths or non-latin characters:
use strict; use warnings; use feature 'say'; use Spreadsheet::Read; use Spreadsheet::ParseExcel; open my $h, '<', '1.ods'; # this file exists Spreadsheet::ParseExcel-> new-> parse( $h ); #### say 'eof' if eof $h; say 'ok' if defined ReadData( $h );
says 'eof'. But if line marked with '###' is commented out, the output is
Sorry, references as input are not (yet) supported by Spreadsheet::Rea +dSXC at xl.pl line 11.
So, the reason that you can't supply filehandles to Spreadsheet::ReadSXC is because it doesn't support them. And there was no proper error reported for your example, because of this line -- and that line wasn't reached.
Copying to a temporary safely named file can solve it:
use strict; use warnings; use feature 'say'; use utf8; use Spreadsheet::Read; use File::Temp; use Win32::LongPath; my $tmp = File::Temp-> new( SUFFIX => '.ods' )-> filename; copyL 'проверка.ods', $tmp; # this file exists say 'ok' if defined ReadData( $tmp );
In reply to Re: Spreadsheet::Read Win32::LongPath::openL
by vr
in thread Spreadsheet::Read Win32::LongPath::openL
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |