Sponsored Content
Top Forums Shell Programming and Scripting Sort a hash based on the string length of the values Post 302756871 by jdilts on Wednesday 16th of January 2013 03:47:17 PM
Old 01-16-2013
Sort a hash based on the string length of the values

Hi,

I want to be able to sort/print a hash based on the string length of the values.

For example
Code:
 %hash = (
        key1 => 'jeri',
        key2 => 'corona',
        key3 => 'una,
    );

I want to be able to print in the following order (smallest to largest)
una,jeri,corona

OR vice versa (I don't have a preference as to which)
corona,jeri,una

How can I do this with out looping through the hash many many times?

Thanks,
Jeri

Last edited by Franklin52; 01-17-2013 at 03:15 AM.. Reason: Please use code tags for data and code samples
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to Sort files based on predefined values.?

How to Sort files based on predefined values.? Normally Sorting happens for the alphabetic or numberic orders.. Is there any way to sort a fields based on the Field values..? Field10 has : one two three five four six ten seven eight nine. in predefined order { one, two, three,... (2 Replies)
Discussion started by: p_prathaban
2 Replies

2. Shell Programming and Scripting

sort entire line based on part of the string

hey gurus, my-build1-abc my-build10-abc my-build2-abc my-build22-abc my-build3-abc basically i want to numerically sort the entire lines based on the build number. I dont zero pad the numbers because thats "how it is" ;-) sort -n won't work because it starts from the beginning. ... (10 Replies)
Discussion started by: gurpal2000
10 Replies

3. Shell Programming and Scripting

how to sort strings by length?

I'm trying to find the longest word in /usr/share/dict/words The first thing I can think of is to sort the content by length then it would be easy to find out, but then i realize theres no option of sort to sort by length. Could you guys please give me some help?:confused: (7 Replies)
Discussion started by: rockbike
7 Replies

4. Shell Programming and Scripting

Sort based on string lenght.

I'm not familiar with find. If i use find in a certain directory i want it to show based on hierarchy. find . type d fol1 fol1/subfol1 fol1/subfol1/subfol1 fol2 fol2/subfol2 i want it to show like this fol1/subfol1/subfol1 fol1/subfol1 fol1 fol2/subfol2 fol2 do i need to use... (5 Replies)
Discussion started by: ryandegreat25
5 Replies

5. Shell Programming and Scripting

perl-extract data from hash values

Hello, I have parsed an xml file using perl to get the hash values and the output looks like this $VAR1 = { 'RT' => { 'List' => { 'String' => ... (1 Reply)
Discussion started by: userscript
1 Replies

6. Shell Programming and Scripting

perl hash sort

I have a hash as below 'C1' => { 'x' => 41.9 , 'y' => 5.79999999999995} 'c2 288' => { 'x' => 428.05 , 'y' => 5.79999999999995} 'turn' => { 'x' => 493.25 , 'y' => 209.85} '0001' => { 'x' => 530.1 , 'y' => 195.7} '000001' => { 'x' => 235.25 , 'y' => 728.15} 'XYZ' => { 'x' => 56.65 , 'y' =>... (6 Replies)
Discussion started by: chakrapani
6 Replies

7. Shell Programming and Scripting

Compare values of hashes of hash for n number of hash in perl without sorting.

Hi, I have an hashes of hash, where hash is dynamic, it can be n number of hash. i need to compare data_count values of all . my %result ( $abc => { 'data_count' => '10', 'ID' => 'ABC122', } $def => { 'data_count' => '20', 'ID' => 'defASe', ... (1 Reply)
Discussion started by: asak
1 Replies

8. Shell Programming and Scripting

Finding unique values in a hash (Perl)

Hi, I have a hash with unique keys associated with some data. my %FINALcontigs = ( 'mira_rep_c765:119reads**', 'ctctactggaagactgac', 'mira_rep_c7454:54reads**', 'atggatactgcgctgttgctaactactgga', 'mira_rep_c6803:12reads**', 'atcgactggatgcagggttgtggtttcta', ... (2 Replies)
Discussion started by: jdilts
2 Replies

9. Shell Programming and Scripting

Add string based on character length

Good day, I am a newbie here and thanks for accepting me I have a task to modify input data where my input data looks like 123|34567|CHINE 1|23|INDIA 34512|21|USA 104|901|INDIASee that my input has two columns with different character length but max length is 5 and minimum length is 0 which... (1 Reply)
Discussion started by: fastlearner
1 Replies

10. UNIX for Advanced & Expert Users

Replacing string length based on pattern

Hi All, I have a file which is like below. I need to read all the patterns that starts with P and then replace the 9 digit values to 8 digit values (remove leading integer). Can you please help Example : ( Please look below File) File : P,1 M1,... (7 Replies)
Discussion started by: arunkumar_mca
7 Replies
Moose::Meta::Attribute::Native::Trait::Hash(3pm)	User Contributed Perl Documentation	  Moose::Meta::Attribute::Native::Trait::Hash(3pm)

NAME
Moose::Meta::Attribute::Native::Trait::Hash - Helper trait for HashRef attributes VERSION
version 2.0603 SYNOPSIS
package Stuff; use Moose; has 'options' => ( traits => ['Hash'], is => 'ro', isa => 'HashRef[Str]', default => sub { {} }, handles => { set_option => 'set', get_option => 'get', has_no_options => 'is_empty', num_options => 'count', delete_option => 'delete', option_pairs => 'kv', }, ); DESCRIPTION
This trait provides native delegation methods for hash references. PROVIDED METHODS
get($key, $key2, $key3...) Returns values from the hash. In list context it returns a list of values in the hash for the given keys. In scalar context it returns the value for the last key specified. This method requires at least one argument. set($key => $value, $key2 => $value2...) Sets the elements in the hash to the given values. It returns the new values set for each key, in the same order as the keys passed to the method. This method requires at least two arguments, and expects an even number of arguments. delete($key, $key2, $key3...) Removes the elements with the given keys. In list context it returns a list of values in the hash for the deleted keys. In scalar context it returns the value for the last key specified. keys Returns the list of keys in the hash. This method does not accept any arguments. exists($key) Returns true if the given key is present in the hash. This method requires a single argument. defined($key) Returns true if the value of a given key is defined. This method requires a single argument. values Returns the list of values in the hash. This method does not accept any arguments. kv Returns the key/value pairs in the hash as an array of array references. for my $pair ( $object->option_pairs ) { print "$pair->[0] = $pair->[1] "; } This method does not accept any arguments. elements Returns the key/value pairs in the hash as a flattened list.. This method does not accept any arguments. clear Resets the hash to an empty value, like "%hash = ()". This method does not accept any arguments. count Returns the number of elements in the hash. Also useful for not empty: "has_options => 'count'". This method does not accept any arguments. is_empty If the hash is populated, returns false. Otherwise, returns true. This method does not accept any arguments. accessor($key) accessor($key, $value) If passed one argument, returns the value of the specified key. If passed two arguments, sets the value of the specified key. When called as a setter, this method returns the value that was set. shallow_clone This method returns a shallow clone of the hash reference. The return value is a reference to a new hash with the same keys and values. It is shallow because any values that were references in the original will be the same references in the clone. Note that "each" is deliberately omitted, due to its stateful interaction with the hash iterator. "keys" or "kv" are much safer. METHODS
meta BUGS
See "BUGS" in Moose for details on reporting bugs. AUTHOR
Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details. COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Infinity Interactive, Inc.. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2012-06-28 Moose::Meta::Attribute::Native::Trait::Hash(3pm)
All times are GMT -4. The time now is 11:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy