http://qs321.pair.com?node_id=1079648


in reply to Re^2: compare 2 arrays for intersect diff and commmon values
in thread compare 2 arrays for intersect diff and commmon values

My initial reply to you (Re: compare 2 arrays for intersect diff and commmon values) contained two polite requests to use "<code>...</code> tags" for showing output, and a further polite request to read "How do I post a question effectively?". You appear to have completely ignored me.

I won't be spending any time trying to decipher this virtually unreadable mess that you've posted. I have downvoted your node.

-- Ken

Replies are listed 'Best First'.
Re^4: compare 2 arrays for intersect diff and commmon values
by rasgolla (Initiate) on Mar 25, 2014 at 07:18 UTC
    Thanks for the response but if you see my code I pasted my code between . I really don't know why are you angry with me ... I am expecting output as device name which I stated in my previous reply. Please don't be angry my apologies. I am able to read my code clearing I don't know why are you saying unreadable mess .... I am again pasting it ...
    sub updatedevice() { my $n = {}; my $Device_LINK = $server->object("ICF_PersistentDataSet",$devicelinks +); my $Temp_Device_LINK = $server->object("ICF_PersistentDataSet",$tempde +vicelinks); my @current_devicelist = @{ $Device_LINK->invoke("get") }; my @temp_devicelist = @{ $Temp_Device_LINK->invoke("get") }; my %temp_list; my %current_list; my $size = @current_list; for ($n=0; $n < $size; $n++) { our $device=$current_list[$n][0]; DEBUG( "DEBUG: - devicelinks values $device " ); my $size = @temp_list; for ($n=0; $n < $size; $n++) { our $tempdevicelinks=$temp_list[$n][0]; DEBUG( "DEBUG: - temp plc links values $tempdevicelinks " ); my %count = (); foreach my $device (@current_list, @temp_devicelist) { $count{$device}++; } my @difference = grep { $count{$_} == 1 } keys %count; my @intersect = grep { $count{$_} == 2 } keys %count; my @union = keys %count; DEBUG( "DEBUG: - difference links values $difference[0] " ); DEBUG( "DEBUG: - intersect links values $intersect[0] " ); DEBUG( "DEBUG: - union links values $union[0] " ); } } }

    expected output device names Also I am able to read $device and $tempdevicelinks values as "ABC-DCFE41->90" "GHJKL-poiu->78"

      If you look through my posts in this thread, you'll see:

      "Please show actual output between <code>...</code> tags."
      "Please also show expected output (again, between <code>...</code> tags)."
      "... two polite requests to use "<code>...</code> tags" for showing output, ..."

      In each of those I'm making reference to output.

      Now you write:

      "Thanks for the response but if you see my code I pasted my code between ."

      Here you're referring to code not output. [Side issue: You've failed to finish that sentence.]

      And then you write:

      "I don't know why are you saying unreadable mess"

      That would be this:

      "Thanks for the response Ken. I have tried 3 ways but all of them throwing error: 1). As suggested: @{$difference[0]} Error -- >Can't use string ("ARRAY(0x2c992e0)") as an ARRAY ref while "strict refs" in use at 2). Tried 2nd way @{$difference} Error as below -- > Global symbol "$difference" requires explicit package name at Global symbol "$intersect" requires explicit package name at Global symbol "$union" requires explicit package name at . 3). tried 3rd way @difference DEBUG: - difference links values ARRAY(0x32690e0) ARRAY(0x3269090) ARRAY(0x322d040) ARRAY(0x3276990) ARRAY(0x322d060) ARRAY(0x3269f80) ARRAY(0x3269040) DEBUG: - intersect links values DEBUG: - union links values ARRAY(0x32690e0) ARRAY(0x3269090) ARRAY(0x322d040) ARRAY(0x3276990) ARRAY(0x322d060) ARRAY(0x3269f80) ARRAY(0x3269040) Expected output should be device names(e.g ..ABC-DCFE41->90) so that I can remove difference part one by one from the data set."

      I made all sorts of allowances for this being your first post here. I made polite requests, explained the reasoning behind those requests, provided examples and pointed you to further information. Yes, you do "appear to have completely ignored me".

      -- Ken

        Thanks for the response Ken.You are really nice and polite person. Actually I am bit worried for this issue may be that could be the cause of ignorance. I have tried 3 ways but all of them throwing error:

        1). As suggested: @{$difference[0]} Error -- >Can't use string ("ARRAY(0x2c992e0)") as an ARRAY ref while "strict refs" in use at

        2). Tried 2nd way @{$difference} Error as below -- > Global symbol "$difference" requires explicit package name at Global symbol "$intersect" requires explicit package name at Global symbol "$union" requires explicit package name at .

        3). tried 3rd way @difference DEBUG: - difference links values ARRAY(0x32690e0) ARRAY(0x3269090) ARRAY(0x322d040) ARRAY(0x3276990) ARRAY(0x322d060) ARRAY(0x3269f80) ARRAY(0x3269040) DEBUG: - intersect links values DEBUG: - union links values ARRAY(0x32690e0) ARRAY(0x3269090) ARRAY(0x322d040) ARRAY(0x3276990) ARRAY(0x322d060) ARRAY(0x3269f80) ARRAY(0x3269040) Expected output should be device names(e.g ..ABC-DCFE41->90) so that I can remove difference part one by one from the data set."

        Actaully I really don't know what will be the output. All I know there are device information in 2 diff dataset which I want to compare and remove the addtional devices from dataset. So i tried perl I am not an expert in perl just trying from last 2 days by seeing so many posts. I am sorry if i have wasted your time on a fool like me...