NAME

Parse::Path::File::Win32 - C:\Windows\file\path\support

SYNOPSIS

    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;

DESCRIPTION

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.

Absolute paths will contain a blank first step, a la Path::Class. Though, it is recommended to use is_absolute for checking for path relativity.

EXTRA ATTRIBUTES

volume

    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 C: and c:.

CAVEATS

  • 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.

AVAILABILITY

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/.

AUTHOR

Brendan Byrd <bbyrd@cpan.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2013 by Brendan Byrd.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)