{"id":1723,"date":"2016-10-10T13:01:39","date_gmt":"2016-10-10T11:01:39","guid":{"rendered":"http:\/\/blog.rabahi.net\/?page_id=1723"},"modified":"2016-10-10T15:38:22","modified_gmt":"2016-10-10T13:38:22","slug":"perl-tab","status":"publish","type":"page","link":"https:\/\/blog.rabahi.net\/?page_id=1723","title":{"rendered":"Perl &#8211; Arrays"},"content":{"rendered":"<div id=\"toc_container\" class=\"no_bullets\"><p class=\"toc_title\">Contents<\/p><ul class=\"toc_list\"><li><a href=\"#Associative_arrays\"><span class=\"toc_number toc_depth_1\">1<\/span> Associative arrays<\/a><ul><li><a href=\"#Create\"><span class=\"toc_number toc_depth_2\">1.1<\/span> Create<\/a><\/li><li><a href=\"#Read\"><span class=\"toc_number toc_depth_2\">1.2<\/span> Read<\/a><\/li><li><a href=\"#Update\"><span class=\"toc_number toc_depth_2\">1.3<\/span> Update<\/a><\/li><li><a href=\"#Delete\"><span class=\"toc_number toc_depth_2\">1.4<\/span> Delete<\/a><\/li><\/ul><\/li><li><a href=\"#Array\"><span class=\"toc_number toc_depth_1\">2<\/span> Array<\/a><ul><li><a href=\"#Create-2\"><span class=\"toc_number toc_depth_2\">2.1<\/span> Create<\/a><\/li><li><a href=\"#Read-2\"><span class=\"toc_number toc_depth_2\">2.2<\/span> Read<\/a><\/li><li><a href=\"#Update-2\"><span class=\"toc_number toc_depth_2\">2.3<\/span> Update<\/a><\/li><li><a href=\"#Delete-2\"><span class=\"toc_number toc_depth_2\">2.4<\/span> Delete<\/a><\/li><\/ul><\/li><li><a href=\"#Array_from_String\"><span class=\"toc_number toc_depth_1\">3<\/span> Array from String<\/a><\/li><\/ul><\/div>\n<h1><span id=\"Associative_arrays\">Associative arrays<\/span><\/h1>\n<h2><span id=\"Create\">Create<\/span><\/h2>\n<pre lang=\"perl\">\r\nmy %tab = (\r\n  \"key1\" => \"val1\",\r\n  \"key2\" => \"val2\",\r\n  (...)\r\n \"keyN\" => \"valN\",\r\n);\r\n<\/pre>\n<h2><span id=\"Read\">Read<\/span><\/h2>\n<pre lang=\"perl\">\r\n# read one value\r\nif(exists $tab{$mykey}) {\r\n  print \"$tab{$mykey}\";\r\n}\r\n\r\n# iterate :\r\nforeach my $key (sort keys %tab) {\r\n    print \"$key=$tab{$key}\\n\";\r\n}\r\n<\/pre>\n<h2><span id=\"Update\">Update<\/span><\/h2>\n<pre lang=\"perl\">\r\n$tab{$mykey}=$newValue;\r\n<\/pre>\n<h2><span id=\"Delete\">Delete<\/span><\/h2>\n<pre lang=\"perl\">\r\n$tab{$mykey}=undef;\r\n<\/pre>\n<h1><span id=\"Array\">Array<\/span><\/h1>\n<h2><span id=\"Create-2\">Create<\/span><\/h2>\n<pre lang=\"perl\">\r\nmy @tab=(\"el1\",\"el2\", ... ,\"elN\");\r\n<\/pre>\n<h2><span id=\"Read-2\">Read<\/span><\/h2>\n<pre lang=\"perl\">\r\nif(defined $tab[2]) {\r\n  print \"$tab[2]\\n\";\r\n}\r\n<\/pre>\n<h2><span id=\"Update-2\">Update<\/span><\/h2>\n<pre lang=\"perl\">\r\n# update value in offset :2\r\nif(defined $tab[2]) {\r\n  $tab[2]=$newValue;\r\n}\r\n\r\n# add element to array:\r\npush(@tab,$newValue);\r\n\r\n# create new array except first element:\r\nmy @newArray = @oldArray[1..(@newArray-1)];\r\n<\/pre>\n<h2><span id=\"Delete-2\">Delete<\/span><\/h2>\n<pre lang=\"perl\">\r\nif(defined $tab[2]) {\r\n  $tab[2]=undef;\r\n}\r\n<\/pre>\n<h1><span id=\"Array_from_String\">Array from String<\/span><\/h1>\n<pre lang=\"perl\">\r\n# init string to split :\r\nmy $string=\"el1;el2;el3\";\r\n\r\n# split string using \";\" separator :\r\nmy @tab=split(\";\",$string);\r\n\r\n# iterate :\r\nforeach my $element (@tab) {\r\n  print \"$element\\n\";\r\n}\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Contents1 Associative arrays1.1 Create1.2 Read1.3 Update1.4 Delete2 Array2.1 Create2.2 Read2.3 Update2.4 Delete3 Array from String Associative arrays Create my %tab = ( &#8220;key1&#8221; => &#8220;val1&#8221;, &#8220;key2&#8221; => &#8220;val2&#8221;, (&#8230;) &#8220;keyN&#8221; => &#8220;valN&#8221;, ); Read # read one value if(exists $tab{$mykey}) { print &#8220;$tab{$mykey}&#8221;; } # iterate : foreach my $key (sort keys %tab) { print [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1693,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1723","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1723","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1723"}],"version-history":[{"count":6,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1723\/revisions"}],"predecessor-version":[{"id":1736,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1723\/revisions\/1736"}],"up":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1693"}],"wp:attachment":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1723"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}