Parse::Path::File::Win32 - C:\Windows\file\path\support
use v5.10; use Parse::Path; my $path = Parse::Path->new( path => 'C:\WINDOWS\SYSTEM32', style => 'File::Win32', ); say $path->as_string; $path->push($path, 'DRIVERS'); say $path->as_string; $path->volume('D'); say $path->as_string;
This is a file-based path style for Windows paths. Some examples:
C:\WINDOWS c:\windows \Users C:foo\bar.txt ..\..\..\.\aaa\.\\\\\\bbb\ccc\..\ddd
Arrays are, of course, not supported. Neither is quoting, as that is a product of the shell, not the path itself.
my $volume = $path->volume; $path->volume('Z'); $path->volume(''); # removes the volume
Returns or sets the volume. This must be a single letter, or a blank string to remove it.
Volumes are automatically extracted and put into this attribute when passed as a path string. If transformed back into a string, it will show the volume again. Normalization will capitalize the volume, as there is no difference between
Though Windows isn't case-sensitive, it does support upper and lowercase letters. Thus, there is no logic to force case on the paths (except for volume), and is left as an exercise to the user.
UNC paths are not supported. This would be a different path style, anyway.
The project homepage is https://github.com/SineSwiper/Parse-Path/wiki.
The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit http://www.perl.com/CPAN/ to find a CPAN site near you, or see https://metacpan.org/module/Parse::Path/.
Brendan Byrd <email@example.com>
This software is Copyright (c) 2013 by Brendan Byrd.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)