Sorauta-Utility
view release on metacpan or search on metacpan
lib/Sorauta/Utility.pm view on Meta::CPAN
month => $month + 1,
day => $day,
hour => $hour,
min => $min,
sec => $sec,
};
}
#==========================================
# httpçµç±ã§åå¾ããæéããã¨ããã¯ã¿ã¤ã ãæ½åº
# req:
# date_str: httpãªã¯ã¨ã¹ãã®ãããã«ããlast-modifiedç
# ex)"Fri, 13 Jan 2012 23:49:21 GMT"
# res:
# unix_time: ã¨ããã¯ã¿ã¤ã
#==========================================
sub get_epoch_from_formated_http {
my(@MoY, %MoY);
@MoY = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
@MoY{@MoY} = (1..12);
if ($_[0] =~ /^
[SMTWF][a-z][a-z],
\ (\d\d)
\ ([JFMAJSOND][a-z][a-z])
\ (\d\d\d\d)
\ (\d\d):(\d\d):(\d\d)
\ GMT$/x) {
return timegm($6, $5, $4, $1, $MoY{$2} - 1, $3 - 1900);
}
}
#==========================================
# ãã¹ãé
åã§è¡¨ç¾ãããã®ããæååã®ãã¹ãä½ã
# req:
# path_list: ('/Users', 'user', 'Desktop', 'Hoge.txt')
# res:
# path_str: '/Users/user/Desktop/Hoge.txt'
#==========================================
sub cat {
#return join('/', @_);
return File::Spec->catfile(@_);
}
#==========================================
# é ããã¡ã¤ã«ãå¤å®
# is_skip_file
# req:
# file_path: ãã¡ã¤ã«ã¾ã§ã®ãã¹
# ex) /Users/user/Desktop/.svn
# res:
# result: é ããã¡ã¤ã«ã®å ´åã¯1ããã以å¤ã¯0
#==========================================
sub is_hidden_file {
my $file_path = shift;
return 1 if(
$file_path eq '.' ||
$file_path eq '..' ||
$file_path =~ /.svn$/ ||
$file_path =~ /desktop\.ini$/ ||
$file_path =~ /.DS_Store$/ ||
$file_path =~ /Thumbs\.db$/
);
return 0;
}
#------------------------------------------
# ã³ãã¼ä¸è¦ãªãã¡ã¤ã«ã
# copy_filter
# req:
# file_name: ãã¡ã¤ã«å
# ex).svn, desktop.ini
# res:
# result: ã³ãã¼ãã¹ããã¡ã¤ã«ã®å ´åã¯0ããã以å¤ã¯1
#------------------------------------------
sub is_unnecessary_copying_file {
my $file_name = shift;
# .ã..çï¼é層ãæå®ãã¦ããå ´åã¯ç¡è¦
if ($file_name =~ /^\./) {
return 1;
}
# ãµã ãã¤ã«ç¨ãã¡ã¤ã«ãªã©ã¯ç¡è¦
if ($file_name eq 'Thumbs.db' || !($file_name =~ /[^\.]/)) {
return 1;
}
# .svnã¯ã³ãã¼ããããªã
if ($file_name eq '.svn' || $file_name eq 'desktop.ini' || $file_name eq '.DS_Store') {
return 1;
}
# ãã°ãã¡ã¤ã«ã®ãã£ã¬ã¯ããªã¯ç¡è¦
if ($file_name eq 'log') {
return 1;
}
return 0;
}
1;
__END__
# Below is stub documentation for your module. You'd better edit it!
=head1 NAME
Sorauta::Utility - useful sub routeans
=head1 SYNOPSIS
use Sorauta::Utility;
1.get_from_http
$url = "http://google.com/";
# HTTP::Response instance
my $result = get_from_http($url);
2.save_file
my $path = "sample.txt";
my $content = "hoge fuga piyo";
# if error has occures, return 2(or 0)
save_file($path, $content);
3.create_get_url
my $url = "http://google.com/";
my $params = { id => 1, name => "sample" };
# return "http://google.com/?name=sample&id=1&"
my $result = create_get_url($url, $params);
4.get_timestamp
# return "2012/01/25 15:02:14"
my $result = get_timestamp(1327471334);
5.get_date
# return { year => 1, month => 1, dat => 2, hour => 1, min => 1, sec => 1 };
my $data_obj = get_date();
6.get_epoch_from_formated_http
# return 1326498561
my $result = get_epoch_from_formated_http("Fri, 13 Jan 2012 23:49:21 GMT");
7.cat
my @path_list = ('/Users', 'user', 'Desktop', 'Hoge.txt');
# return "/Users/user/Desktop/Hoge.txt"
my $result = cat(@path_list);
( run in 1.278 second using v1.01-cache-2.11-cpan-39bf76dae61 )