I don't think you'd need the scalar reverse on a big-endian platform:
#! perl -slw use strict; use Data::Dump qw[ pp ]; my $reFloat = qr[([+-]?(?:\d+\.)?\d+(?:[Ee][+-]?\d+)?)]; sub sortEm ($$) { my( $a, $b ) = @_; my( $i, $comp ) = ( -1, 0 ); $comp = $a->[ $ARGV[ $i ] ] cmp $b->[ $ARGV[ $i ] ] until ++$i > $#ARGV or $comp; $comp; } print $_->[ 0 ] for sort sortEm map { chomp; [ $_, map{ s[$reFloat][ scalar reverse pack 'd', $1]ge; $_ } split '\|' ] } <DATA>; __DATA__ 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200020> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200000> 123123124.123|Tina|tina2007@gmail.com||London|<100030> 123124.123|Lucas|Lucas_fighter2025@yahoo.com||New York US|<200040> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200010> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200019>
c:\test>706475 1 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200020> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200000> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200010> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200019> 123124.123|Lucas|Lucas_fighter2025@yahoo.com||New York US|<200040> 123123124.123|Tina|tina2007@gmail.com||London|<100030> c:\test>706475 3 123124.123|Lucas|Lucas_fighter2025@yahoo.com||New York US|<200040> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200020> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200000> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200010> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200019> 123123124.123|Tina|tina2007@gmail.com||London|<100030> c:\test>706475 5 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200020> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200000> 123123124.123|Tina|tina2007@gmail.com||London|<100030> 123124.123|Lucas|Lucas_fighter2025@yahoo.com||New York US|<200040> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200010> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200019> c:\test>706475 6 123123124.123|Tina|tina2007@gmail.com||London|<100030> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200000> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200010> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200019> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200020> 123124.123|Lucas|Lucas_fighter2025@yahoo.com||New York US|<200040> c:\test>706475 6 1 123123124.123|Tina|tina2007@gmail.com||London|<100030> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200000> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200010> 12312.123|John|johon07@yahoo.com||Sunnyvalle California US|<200019> 24.23|Sam|Sam04@yahoo.com||Hong Kong|<200020> 123124.123|Lucas|Lucas_fighter2025@yahoo.com||New York US|<200040>
In reply to Re: Build Sort dynamically
by BrowserUk
in thread Build Sort dynamically
by libvenus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |