home *** CD-ROM | disk | FTP | other *** search
- # NOTE: Derived from ..\blib\lib\CGI\XMLForm\Path.pm.
- # Changes made here will be lost when autosplit is run again.
- # See AutoSplit.pm.
- package CGI::XMLForm::Path;
-
- #line 36 "..\blib\lib\CGI\XMLForm\Path.pm (autosplit into ..\blib\lib\auto\CGI\XMLForm\Path\buildSelf.al)"
- sub buildSelf {
- my $self = shift;
- my $prev = shift;
-
- if ($self->{_path} =~ s/\*$//) {
- $self->{_repeat} = 1;
- }
-
- # warn "Building from ", $self->{_path}, "\n";
-
-
- my @parts = split('/', $self->{_path});
- my @fullpath;
- $self->{Relative} = 0;
-
- if ($self->{_path} !~ /^\//) {
- # It's a relative path
-
- $self->{_relative} = 1;
- @fullpath = @{$prev->{_fullpath}};
-
- if ($prev->isRelative) {
- # prev was a relative path so remove top item
- pop @fullpath;
- }
- foreach ( @parts ) {
- if ($_ eq "..") {
- pop @fullpath;
- }
- else {
- push @fullpath, $_;
- }
- }
- }
- else {
- # remove crap from beginning (empty because of preceding "/")
- shift @parts;
- @fullpath = @parts;
- }
-
- if ($fullpath[$#fullpath] =~ /^\@(\w+)$/) {
- pop @fullpath;
- pop @parts;
- $self->{_attrib} = $1;
- }
-
- $self->{Parts} = \@parts;
- $self->{_fullpath} = \@fullpath;
-
- # warn "Built: ", $self->FullPath, "\n";
-
- }
-
- # end of CGI::XMLForm::Path::buildSelf
- 1;
-