AIX-LPP

 view release on metacpan or  search on metacpan

LPP/lpp_name.pm  view on Meta::CPAN

    	    	NAME => $fsname,
		VRMF => $param{VRMF},
		DISK => $param{DISK},
		BOSBOOT => $param{BOSBOOT},
		CONTENT => $param{CONTENT},
		LANG => $param{LANG},
		DESCRIPTION => $param{DESCRIPTION},
		COMMENTS => $param{COMMENTS},
		REQ => [ ],
		SIZEINFO => { }
            };
        } else {


	}
    }
    return ( $self->{FILESET}{$fsname}{NAME},
	$self->{FILESET}{$fsname}{VRMF},
	$self->{FILESET}{$fsname}{DISK},
	$self->{FILESET}{$fsname}{BOSBOOT},
	$self->{FILESET}{$fsname}{CONTENT},
	$self->{FILESET}{$fsname}{LANG},
	$self->{FILESET}{$fsname}{DESCRIPTION},
	$self->{FILESET}{$fsname}{COMMENTS});
}

sub sizeinfo {
    my $self = shift;
    my $fset = shift;
    my $size_ref = shift;

    $self->{FILESET}{$fset}{SIZEINFO} = $size_ref;
    return $self->{FILESET}{$fset}{SIZEINFO};
}

sub requisites {
    my $self = shift;
    my $fset = shift;
    my $ref_req = shift;

    $self->{FILESET}{$fset}{REQ} = $ref_req;
    return $self->{FILESET}{$fset}{REQ};
}

sub validate {

}

sub read {
    my $class = shift;
    my $fh = shift;
    my $self = {};
    bless $self, $class;
    
    chomp (my $line = <$fh>);
    my ($format,$platform,$type,$name,$token) = split / /, $line;
    $self->lpp(NAME => $name, FORMAT => $format, TYPE => $type,
		PLATFORM => $platform);
    chomp ($line = <$fh>);

# add while loop here to process fileset headers

    my ($fsn,$vrmf,$disk,$bosboot,$content,$lang,@desc) = split / /, $line;
    $self->fileset($fsn, NAME => $fsn,VRMF => $vrmf,DISK => $disk,
	BOSBOOT => $bosboot, CONTENT => $content, LANG => $lang,
	DESCRIPTION => join ' ', @desc);

    chomp ($line = <$fh>) until $line =~ /^\[/;
    chomp ($line = <$fh>);

    FSDATA: { do {
	chomp $line;
	my @reqs;
        last if $line =~ /^\]/;

	REQS: { do {
	    push @reqs, [ split (/ /, $line) ];
	    chomp ($line = <$fh>);
	} until $line =~ /^%/; }

	$self->requisites($fsn,\@reqs);

	chomp ($line = <$fh>);
	SIZEINFO: { do {
	    my ($loc,@size) = split (/ /, $line);
	    $self->{FILESET}{$fsn}{SIZEINFO}{$loc} = join ' ', @size;
	    chomp ($line = <$fh>);
	} until $line =~ /^%/; }

	chomp ($line = <$fh>);
	THIRD: { do {
	} until $line =~ /^%/; }

	chomp ($line = <$fh>);
	FOURTH: { do {
	} until $line =~ /^%/; }

	chomp ($line = <$fh>);
	FIFTH: { do {
	} until $line =~ /^%/; }
	
    } while ($line = <$fh>); }

    return $self;
}

sub write {
    my $self = shift;
    my $fh = shift;

    print $fh join ' ', $self->{FORMAT}, $self->{PLATFORM}, $self->{TYPE},
	$self->{NAME}, "{\n";
    foreach my $fileset (keys %{$self->{FILESET}} ) {
        print $fh join ' ', $self->{FILESET}{$fileset}{NAME},
		$self->{FILESET}{$fileset}{VRMF},
		$self->{FILESET}{$fileset}{DISK},
		$self->{FILESET}{$fileset}{BOSBOOT},
		$self->{FILESET}{$fileset}{CONTENT},
		$self->{FILESET}{$fileset}{LANG},
		$self->{FILESET}{$fileset}{DESCRIPTION}, "\n[\n";



( run in 1.003 second using v1.01-cache-2.11-cpan-39bf76dae61 )