Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

One more question
I want to expand this Service with DELETE request
In this case my output2.csv should have this look:

output2.csv (id,name,description,ip) - Secondary System

01,TEST_1,, 02,TEST_2,bla, 03,TEST_3,,

output1.csv (name,ip) - Primary System

I should check, if there is device in Secondary System, that absent in Primary System with out description.
In my case thist is TEST_3
I should delete such devices
I've tried to do it with the previous example, but I do not know perl really good.....

#!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; use XML::Twig; use autodie; use Data::Dumper; my @filename = ('output1.csv', 'output2.csv'); my %file1 = () ; open my $fh, '<', $filename[0]; # using autodie while (<$fh>){ chomp; my ($name,$ip) = split /\s*,\s*/; $file1{$name} = $ip; } close $fh; my %file2 = () ; my %ip2name = (); open $fh, '<', $filename[1]; # using autodie while (<$fh>){ chomp; my ($id,$name,$description,$ip) = split /\s*,\s*/; $file2{$name} = [$id,$ip]; # $ip2name{$ip} = [$id,$name]; } close $fh; # determine updates and additions requires my @delete =(); foreach my $name (sort keys %file2) { my $ip1 = $file2{$name}; if ( not exists $file1{$name} ){ # check if ip exists if ( $description=null ){ my $id = $ip2name{$ip1}; print "DELETE name : '$name'\n"; push @delete,[$id,$name,$description,$ip] } } } my $ua = LWP::UserAgent->new( ssl_opts=> { # SSL_verify_mode => SSL_VERIFY_NONE, verify_hostname => 0,} ); for (@delete){ my ($id,$name,$description,$ip1) = @$_; my $uri="https://hostname:9060/ers/config/networkdevice/$id"; my $req = HTTP::Request->new('DELETE', $uri, [Accept=>'application/ ++xml', Content_Type=>'application/ +e.1.1+xml; charset=utf-8']); $req->authorization_basic("user", "user"); print $req->as_string; # testing my $res = $ua->request($req); if ($res->is_success) { print $res->status_line, "\n"; } else { print $res->status_line, "\n"; } } }

There is no Problem this the Server, when I'm doing multiply DELETE separately
I think my promlem is here:

foreach my $name (sort keys %file2) { my $ip1 = $file2{$name}; if ( not exists $file1{$name} ){ # check if ip exists if ($description=null){ my $id = $ip2name{$ip1}; print "DELETE name : '$name'\n"; push @delete,[$id,$name,$description,$ip] } }

In reply to Re^4: HTTP PUT Request with separate values in csv by StayCalm
in thread HTTP PUT Request with separate values in csv by StayCalm

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others browsing the Monastery: (2)
    As of 2021-01-27 00:48 GMT
    Find Nodes?
      Voting Booth?