<<

Приложения

9.1 Полный текст модуля Finance::Quote::Sberbank

package Finance :: Quote :: Sberbank;

use 5.008008;

use strict;

use warnings ;

use encoding ’utf8 ’;

use HTTP:: Request :: Common;

use Spreadsheet :: Read;

require Exporter ;

our @ISA = qw( Exporter ) ;

# Items to export into callers namespace by default .

Note

: do not export

# names by default without a very good reason. Use

EXPORTJJK instead .

# Do not simply export all your public functions/methods/

constants .

# This allows declaration use Finance :: Quote :: Sberbank

all ’;

# If you do not need this , moving things directly into

©EXTORT or ( qw(

) I );

our ©EXPORTJTK = ( @{ SF.XPOR]JTAGS{ · .4 11 ’} } ) ; our ©EXTORT = qw(

);

our $ VERSION = Ό.01

# Preloaded methods go here.

sub methods { return ( sberbank => \\&sberbank ) ; }

{

my @labels = qw/name last bid ask date isodate currency

/;

sub labels { return ( sberbank => \\@labels ); }

}

sub sberbank { my Squoter = shift ; my @stocks = my %info ;

my Sua = Squoter->user_agent; my Syear = 2009; my Smon = I;

my Surl = "http://sbrf.ru/ru/valkprev/archive_l/index.

php?yearl 14=${ year}&monthl 14=${mon} " ; my Sresponse = $ua—>request (GET $url); unless ( Sresponse—>is_success) { foreach my Sstock (@stocks) {

$info{Sstock, "success"} = 0;

$info{ Sstock , "errormsg"} = "HTTP failure";

}

return wantarrayQ ? %info : \\%info ;

}

my Slink = "";

my Seontent = Sresponse —>content;

if($content =~ /request(GET $url); unless ( $response—>is_success) { foreach my Sstock (@stocks) {

$info{Sstock, "success"} = 0;

$info{ Sstock , "errormsg"} = "HTTP failure";

}

return wantarray() ? %info : \\%info ;

}

Scontent = Sresponse —>eontent; my Sxls = ReadData(Scontent); my Sstart = I;

while ( $xls - >fl]{" ASstart "} !~ /\\d + \\. Котировки продажи и покупки драгоценных металлов в обезличенном виде/ Mz Sstart < 100) { Sstart++;

}

ту %тар = (

’Золото’ => ’SBRF.AU’ ,

’Серебро’ => ’SBRF.AG’ ,

’Платина’ => ’SBRF.PT’ ,

’Палладий’ => ’SBRF.PD’

"name"} = Sname;

"currency"} = "RUB";

"method"} = " sberbank";

"bid"} = Sxls —>fl)j"E$start"};

"ask"} = Sxls —>flj{"D$start"}; "last"} = $ info { Sstock , "bid"}; Squoter->store_date(\\%info , Sstock , {today => i}); Sinfo{Sstock, "success"} = I;

}

}

return wantarray() ? %info : \\%info ;

ElND

<< |
Источник: Александр Королев. Руководство по GnuCash. 2010

Еще по теме Приложения:

- Авторское право - Аграрное право - Адвокатура - Административное право - Административный процесс - Антимонопольно-конкурентное право - Арбитражный (хозяйственный) процесс - Аудит - Банковская система - Банковское право - Бизнес - Бухгалтерский учет - Вещное право - Государственное право и управление - Гражданское право и процесс - Денежное обращение, финансы и кредит - Деньги - Дипломатическое и консульское право - Договорное право - Жилищное право - Земельное право - Избирательное право - Инвестиционное право - Информационное право - Исполнительное производство - История - История государства и права - История политических и правовых учений - Конкурсное право - Конституционное право - Корпоративное право - Криминалистика - Криминология - Маркетинг - Медицинское право - Международное право - Менеджмент - Муниципальное право - Налоговое право - Наследственное право - Нотариат - Обязательственное право - Оперативно-розыскная деятельность - Права человека - Право зарубежных стран - Право социального обеспечения - Правоведение - Правоохранительная деятельность - Предпринимательское право - Семейное право - Страховое право - Судопроизводство - Таможенное право - Теория государства и права - Трудовое право - Уголовно-исполнительное право - Уголовное право - Уголовный процесс - Философия - Финансовое право - Хозяйственное право - Хозяйственный процесс - Экологическое право - Экономика - Ювенальное право - Юридическая деятельность - Юридическая техника - Юридические лица -