http://qs1969.pair.com?node_id=1173610


in reply to Re^3: How to create symlink using Perl?
in thread How to create symlink using Perl?

Please test Win32::Symlink. I can't get it to work for files, only for directories. That is exactly the sort of crippled Unicode support under Windows that I see time after time.

I don't see any general Perl Unicode support in the other few modules you mention. I don't see how to pass a Unicode path to any of the hundreds of Perl modules that haven't been designed for Unicode on Windows. For example, is there any way to pass a Unicode path to MP3::Tag->new?

Hard links can only be created on the same volume as the target. They can't be used on a volume that the user doesn't have write access to, nor obviously on optical media, so they aren't a general solution.

  • Comment on Re^4: How to create symlink using Perl?

Replies are listed 'Best First'.
Re^5: How to create symlink using Perl?
by Anonymous Monk on Oct 09, 2016 at 21:56 UTC

    Please test Win32::Symlink. I can't get it to work for files, only for directories. That is exactly the sort of crippled Unicode support under Windows that I see time after time.

    :) no thanks

    As windows itself didn't support symlinks (junctions) to files for a long time ... I don't expect the old api to support it automagically because the newest windows is used

    Just use the new api, if it does what you're looking for, http://grep.cpan.me/?q=CreateSymbolicLink -> https://metacpan.org/pod/Win32::LongPath#symlinkL-OLDFILE-NEWFILE

    As you can see, its not hard to use new APIs

    I don't see any general Perl Unicode support in the other few modules you mention. I don't see how to pass a Unicode path to any of the hundreds of Perl modules that haven't been designed for Unicode on Windows. For example, is there any way to pass a Unicode path to MP3::Tag->new?

    Simplest way, use temporary ansi name for all modules... then move/rename to unicode file using Win32::Unicode

    You could arrange for global overrides ... but blah :D