my ($name, $selected_system, $value_to_change, $new_val) = @_; my $ref; my ($NAME,$IP,$POWER_OFF_ON,$USED_STATE); rename $name, "$name~" or die "Cannot rename: $!"; open FH1, "<$name~" or die "Cannot open: $!"; open FH2, ">$name" or die "Cannot create: $!"; while () { ($NAME,$IP,$POWER_OFF_ON,$USED_STATE)=split(/;/); $ref->{$NAME}{FILER_IP}=$FILER_IP; $ref->{$NAME}{FILER_RLM_IP}=$FILER_RLM_IP; $ref->{$NAME}{POWER_OFF_ON}=$POWER_OFF_ON; $ref->{$NAME}{OWNER}=$OWNER; $ref->{$NAME}{DETAILS}=$DETAILS; $ref->{$NAME}{RESERVED_BY}=$RESERVED_BY; print "$NAME",";","$ref->{$NAME}{FILER_IP}",";","$ref->{$NAME}{FILER_RLM_IP}",";","$ref->{$NAME}{POWER_OFF_ON}",";","$ref->{$NAME}{OWNER}",";","$ref->{$FILER_NAME}{DETAILS}",";","$ref->{$FILER_NAME}{RESERVED_BY}"; print "$NAME",";","$ref->{$NAME}{FILER_IP}",";","$ref->{$NAME}{FILER_RLM_IP}",";","$ref->{$NAME}{POWER_OFF_ON}",";","$ref->{$NAME}{OWNER}",";","$ref->{$FILER_NAME}{DETAILS}",";","$ref->{$FILER_NAME}{RESERVED_BY}"; if (!($NAME eq "$selected_system")){ print FH2 $_; } elsif ($value_to_change eq "POWER_STATUS"){ print FH2 "$NAME",",","$ref->{$NAME}{IP}",",","$new_val",",","$ref->{$NAME}{USED_STATE}","\n"; } }