Skip to content

Instantly share code, notes, and snippets.

View likhatskiy's full-sized avatar

Алексей Лихацкий likhatskiy

View GitHub Profile
@likhatskiy
likhatskiy / temp_links.pl
Created October 23, 2011 21:12
Generate temp links
package Application;
use strict;
use warnings;
use base 'Mojolicious';
sub startup {
my $self = shift;
@likhatskiy
likhatskiy / gist:292464
Created February 2, 2010 07:23
truncate string by length and word
print trunc("11111 222 4444", 9);
sub trunc {
s/\s+?\S+?$//, return $_ for my $str = substr shift, 0, (shift || 1) + 1;
}
sub trunc {#by http://what-me.livejournal.com/
$_[0] =~ /^.{0,$_[1]}(?!\S)/s ? $& : '';
}
@likhatskiy
likhatskiy / gist:265318
Created December 29, 2009 13:43
hex sequence of string
join '', map { sprintf "%2x", ord } $str =~ /./g;
#!/usr/bin/perl
use common::sense;
sub D($) {
for (scalar reverse shift) {
s/(\d{3})(?=\d)/$1 /g;
return scalar reverse;
}
}
@likhatskiy
likhatskiy / gist:237915
Created November 18, 2009 14:48
generate random string, length 8
sub gen_name {
my $tt = [0..9,'a'..'z','A'..'Z'];
return join '', map {$tt->[rand @$tt]} 1..8;
}
@likhatskiy
likhatskiy / gist:237637
Created November 18, 2009 07:58
list shuffle
sub ashuffle {
my @a = @_;
[map {splice @a, int rand scalar @a, 1} 1..scalar @a];
}
@likhatskiy
likhatskiy / gist:237633
Created November 18, 2009 07:50
double list sort
#Двойная Сортировка массива хешей
#mysort(array_ref, up_sort, down_sort)
#up_sort - индекс сортировки по возрастанию
#down_sort - индекс сортировки по убыванию
sub mysort {
my ($arr, $up, $down) = @_;
my $temp;
push @{$temp->{$_->{$up}}}, $_ for @$arr;