If I use an Array of Arrays to ensure the correct order I also get expected results:my %meta = ( "Author"=>"J K Rolling", "title","Harry Potter and the Philosopher's Stone" ); Sorts: Author, title <meta content="J K Rolling" name="Author" /> <meta content="Harry Potter and the Philosopher's Stone" name="title" +/> my %meta = ( "author"=>"J K Rolling", "Title","Harry Potter and the Philosopher's Stone" ); Sorts: Title, author <meta content="Harry Potter and the Philosopher's Stone" name="Title" +/> <meta content="J K Rolling" name="author" />
The docs state that push_content "adds the specified items to the end of the content list of the element". Nothing about sorting, and in your case the element is the head. There is also an unshift_content.my @meta = ( ["Author"=>"J K Rolling"], ["title","Harry Potter and the Philosopher's Stone"] ); Sorts: Author, title <meta content="J K Rolling" name="Author" /> <meta content="Harry Potter and the Philosopher's Stone" name="title" +/> my @meta = ( ["author"=>"J K Rolling"], ["Title","Harry Potter and the Philosopher's Stone"] ); Sorts: author, Title <meta content="J K Rolling" name="author" /> <meta content="Harry Potter and the Philosopher's Stone" name="Title" +/>
I used this loop for the AoA:
for my $m ( @meta ) { my $m_el = HTML::Element->new('meta'); $m_el->attr('name',$m->[0]); $m_el->attr('content',$m->[1]); $head->push_content($m_el); }
In reply to Re: Ordering meta tags with HTML::Element
by tangent
in thread Ordering meta tags with HTML::Element
by HeadScratcher
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |