Group
Extension

Matches 35359

Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/Union.pm ( view source; MetaCPAN )
ucash.org/>
#
#    Changes:
#    Rewritten for issue #516: 2025-10-21, Bruce Schuck
#      Parses JSON retrieved from
#      https://internal.api.union-investment.de/beta/web/funddata/fundsearch?segme
{DEBUG};
use if DEBUG, 'Smart::Comments', '###';

use JSON qw(decode_json);

our $VERSION = '1.67_01'; # TRIAL VERSION

# This url retrieve a JSON data structure containing data for all funds
our $UNI
==========
# The unionfunds routine gets quotes of UNION funds (Union Invest)
# The URL returns a JSON data structure containing a table containing
# quote data for all funds
#
# This subroutine was w
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/GoldMoney.pm ( view source; MetaCPAN )
USA
#
# $Id: $

package Finance::Quote::GoldMoney;
require 5.005;

use HTTP::Request::Common;
use JSON;

use strict;
use warnings;

our $VERSION = '1.67_01'; # TRIAL VERSION

sub methods {
    return 
 returned (note: this module only works for 'gold' and 'silver')";
        }
    }

    # get the JSON of the prices. Currently getting sell price,
    if ( $_want_gold or $_want_silver or $_want_plat
        my $json = from_json($html_string);

            $table_gold     = $json->{spotPrices}[0];
            $table_silver   = $json->{spotPrices}[1];
            $table_platinum = $json->{spotPrice
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/MorningstarUK.pm ( view source; MetaCPAN )
';

use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
use JSON qw(decode_json);
use Text::Template;

our $VERSION = '1.67_01'; # TRIAL VERSION

$MSTARUK_MAIN_URL   =  
next;
		}

		$webdoc = $response->content;
		### [<now>] 2nd Webdoc: $webdoc

		my $json;
		eval {$json = decode_json $webdoc};
        if ($@) {
	        # serious error, report it and give up
		    
ecode JSON";
		    next;
	    }
		### [<now>] JSON: $json

# Find date, currency and price all in one table row

		my ($date, $time);
		my $currency = $json->{'currency'};
		my $price    = $json->{'na
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/Consorsbank.pm ( view source; MetaCPAN )

use strict;
use warnings;

package Finance::Quote::Consorsbank;

use LWP::UserAgent;
use JSON qw( decode_json );
use Date::Parse qw(str2time);
use POSIX qw(strftime);
use Encode qw(encode_utf8);

use
    $info{ $symbol, 'success'  } = 0;
        $info{ $symbol, 'errormsg' } = '';

        my $get_json = sub {
            my $query = shift;
            my $response = $ua->get($query);

            
tent-type') =~ m|application/json|i) {
                $info{ $symbol, 'errormsg' } = "Invalid content-type from Consorsbank server for $symbol.  Expected: application/json, received: " . $response->h
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/Oslobors.pm ( view source; MetaCPAN )
package Finance::Quote::Oslobors;

use strict;
use JSON qw( decode_json );
use HTTP::Request::Common;

our $VERSION = '1.65'; # VERSION

use vars qw( $OSLOBORS_COMPONENTS_URL );

$OSLOBORS_COMPONENTS_
 = 0;
      $funds{$symbol, "errormsg"} = "HTTP request failed";
    } else {
      $data = JSON::decode_json($reply->content)->{"rows"}[0]{"values"};

      $quoter->store_date(\%funds, $symbol, { is
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/YahooJSON.pm ( view source; MetaCPAN )
renamed to yahooJSON
#    since it gets a lot of quotes besides Indian
#
#    The code has been modified by Abhijit K to
#    retrieve stock information from Yahoo Finance through json calls
#
#    Th
t, Fifth Floor, Boston, MA
#    02110-1301, USA

package Finance::Quote::YahooJSON;

use strict;

use JSON qw( decode_json );
use vars qw($VERSION $YIND_URL_HEAD $YIND_URL_TAIL);
use HTTP::Request::Co
YahooJSON';
our @LABELS     = qw/name last date isodate volume currency method exchange type
        div_yield eps pe year_range open high low close/;
our $METHODHASH = {subroutine => \&yahoo_json, 
 
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/MorningstarCH.pm ( view source; MetaCPAN )
';

use LWP::Simple;
use LWP::UserAgent;
use HTTP::Request::Common;
use HTTP::Cookies;
use JSON qw(decode_json);
use Text::Template;

our $VERSION = '1.67_01'; # TRIAL VERSION

$MSTARCH_MAIN_URL   =  
next;
		}

		$webdoc = $response->content;
		### [<now>] 2nd Webdoc: $webdoc

		my $json;
		eval {$json = decode_json $webdoc};
        if ($@) {
	        # serious error, report it and give up
		    
ecode JSON";
		    next;
	    }
		### [<now>] JSON: $json

# Find date, currency and price all in one table row

		my ($date, $time);
		my $currency = $json->{'currency'};
		my $price    = $json->{'na
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote.pm ( view source; MetaCPAN )
r ();
use Carp;
use Finance::Quote::UserAgent;
use HTTP::Request::Common;
use Encode;
use JSON qw( decode_json );

use vars qw/@ISA @EXPORT @EXPORT_OK @EXPORT_TAGS
            $TIMEOUT @MODULES %MODUL
w/
    AlphaVantage
    CurrencyFreaks
    ECB
    FinanceAPI
    Fixer
    OpenExchange
    YahooJSON
/;

@MODULES = qw/
    AEX
    ASEGR
    ASX
    AlphaVantage
    BSEIndia
    BorsaItaliana
    
reto
    TMX
    Tradegate
    TreasuryDirect
    TSP
    TwelveData
    Union
    XETRA
    YahooJSON
    YahooWeb
    ZA
/;

@ISA    = qw/Exporter/;
@EXPORT = ();
@EXPORT_OK = qw/asx currency_lookup
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/Bloomberg.pm ( view source; MetaCPAN )
t;
use HTTP::Request::Common;
use HTTP::CookieJar::LWP ();
use HTML::TreeBuilder;
use Encode;
use JSON;

our $VERSION = '1.65_01'; # TRIAL VERSION

use vars qw($BLOOMBERG_URL);

$BLOOMBERG_URL = 'http
nt);
      my $json = encode_utf8 (($tree->look_down(_tag=>'script', 'id'=>'__NEXT_DATA__')->content_list())[0]);
      my $json_decoded = decode_json $json;
      my $json_quote = $json_decoded->{'pr
{'quote'};
      my $desc = $json_quote->{'longName'};
      my $price = $json_quote->{'price'};
      my $curr  = $json_quote->{'issuedCurrency'};
      my $date  = $json_quote->{'lastUpdate'};

    
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/Cdnfundlibrary.pm ( view source; MetaCPAN )
L $FUNDLIB_MAIN_URL);

use LWP::UserAgent;
use HTTP::Request::Common;
use HTML::TableExtract;
use JSON;

use warnings;
use Time::Piece;

our $VERSION = '1.59_01'; #TRIAL VERSION

# URLs of where to ob
racefully - add later##
      return unless ($reply->is_success);

      my $json = JSON->new;
      my $data = decode_json($reply->decoded_content);

#     If the fund is not found, "PriceAsOfDateStr
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/SIX.pm ( view source; MetaCPAN )
 constant DEBUG => $ENV{DEBUG};
use if DEBUG, 'Smart::Comments';

use LWP::UserAgent;
use JSON qw( decode_json );
use String::Util qw(trim);
use Scalar::Util qw(looks_like_number);

our $VERSION = '1.
s/snap.json?select=ValorId,PortalSegment,ProductLine&where=PortalSegment=EQ|BO|FU|EP|IN&pagesize=2&match=' . $symbol;
      my $reply    = $ua->get($url);
      my $search   = JSON::decode_json $reply
mbol not found" unless defined $valorid;

      $url         = 'https://www.six-group.com/fqs/ref.json?select=DividendEntitlementFlag,FirstTradingDate,LastTradingDate,ISIN,IssuerNameFull,IssuerNameSho
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/NZX.pm ( view source; MetaCPAN )
gs;

use constant DEBUG => $ENV{DEBUG};
use if DEBUG, 'Smart::Comments';

use Encode;
use JSON qw( decode_json );
use LWP::UserAgent;
use Web::Scraper;
use String::Util qw(trim);

our $VERSION = '1.67
/instruments/$symbol";
        my $reply = $ua->get($url);

        # JSON inside script id="__NEXT_DATA__" type="application/json" crossorigin="">
        my $widget = scraper {
            process '
ult->script: $result->{script}

        my $json = encode_utf8($result->{script});
        my $json_data;
        eval {$json_data = JSON::decode_json($json)};
        if ($@) {
            $info{ $sy
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/ASX.pm ( view source; MetaCPAN )
sh.org/>

use strict;
use warnings;

package Finance::Quote::ASX;

use LWP::UserAgent;
use JSON qw/decode_json/;

use constant DEBUG => $ENV{DEBUG};
use if DEBUG, 'Smart::Comments';

use vars qw/$ASX_
uotes
#	which prevented the previous HTML screen scraping from working, but exposed
#	a number of JSON data sources, two of which are used here.
#	The primary source returns data elements for almost a
) {
		$status = 0;
		$error = "Cannot parse content from ASX server '$url'.  Expected a top level JSON element named data.";
### ASX.pm  Error: $error
		return $status, $error;
	}

# Map the Finance::
AsposeSlidesCloud-SlidesApi ( A/AS/ASPOSE/AsposeSlidesCloud-SlidesApi-25.1.tar.gz, ASPOSE, 2025; MetaCPAN )
AsposeSlidesCloud-SlidesApi/lib/AsposeSlidesCloud/Object/Placeholder.pm ( view source; MetaCPAN )
eSlidesCloud::Object::Placeholder;

require 5.6.0;
use strict;
use warnings;
use utf8;
use JSON qw(decode_json);
use Data::Dumper;
use Module::Runtime qw(use_module);
use Log::Any qw($log);
use Date::
bute};
		$self->$attribute( $args{ $args_key } );
	}
	return $self;
}  

# used by JSON for serialization
sub TO_JSON { 
    my $self = shift;
    my $_data = {};
    foreach my $_key (keys %{$self->a
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/CurrencyRates/OpenExchange.pm ( view source; MetaCPAN )
e strict;
use warnings;

use constant DEBUG => $ENV{DEBUG};
use if DEBUG, 'Smart::Comments';

use JSON;

our $VERSION = '1.67_01'; # TRIAL VERSION

sub parameters {
  return ('API_KEY');
}

sub new
{
.json?app_id=$this->{API_KEY}";
    my $reply = $ua->get($url);

    return unless ($reply->code == 200);

    my $body = $reply->content;

    my $json_data = JSON::decode_json $body;
    if ( !$json
_data || $json_data->{error} || not exists $json_data->{rates}) {
      ### OpenExchange error : $json_data->{description}
      return;
    }

    $this->{cache} = $json_data->{rates};
    ### OpenEx
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/ASEGR.pm ( view source; MetaCPAN )
ENV{DEBUG};
use if DEBUG, 'Smart::Comments';

use LWP::UserAgent;
use Text::Template;
use JSON qw( decode_json );

our $VERSION = '1.67_01'; # TRIAL VERSION 

our $DISPLAY    = 'ASEGR - Athens Exchang
strument}/inbroker');

my @instruments = qw/stocks bonds etfs lending derivatives indices/;
my ( %jsondata, %info );

sub methodinfo {
  return ( 
   asegr  => $METHODHASH,
   greece => $METHODHASH,
 
b methods {
  my %m = methodinfo();
  return map {$_ => $m{$_}{subroutine} } keys %m;
}

# Since %jsondata and %info are global to this module
# pass in the instrument and symbol to search for the dat
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/CurrencyRates/YahooJSON.pm ( view source; MetaCPAN )

package Finance::Quote::CurrencyRates::YahooJSON;

use strict;
use warnings;

use constant DEBUG => $ENV{DEBUG};
use if DEBUG, 'Smart::Comments';

use JSON;

our $VERSION = '1.67_01'; # TRIAL VERSION
his, $class;

  my $args = shift;

  ### YahooJSON->new args : $args

  return $this;
}

sub multipliers
{
  my ($this, $ua, $from, $to) = @_;

  my $json_data;
  my $rate;
  my $reply = $ua->get($YIN
$json_data = JSON::decode_json $body;

  ### JSON: $json_data

  if ( !$json_data || !$json_data->{'chart'}->{'result'}->[0]->{'meta'}->{'regularMarketPrice'} ) {
    return;
  }

  $rate =
    $json_
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/Bourso.pm ( view source; MetaCPAN )
:Comments';

use HTTP::Request::Common;
use HTML::TreeBuilder;
use Encode qw(decode);
use JSON qw( decode_json );
use utf8;

our $VERSION = '1.67_01'; # TRIAL VERSION

my $Bourso_URL = 'https://www.bo
       my $json  = JSON::decode_json($div->attr('data-ist-init'));
              $date     = $json->{'tradeDate'};
              $last     = $json->{'last'};
              $symbol   = $json->{'symbol'
 = $json->{'low'};
              $high     = $json->{'high'};
              $close    = $json->{'previousClose'};
              $exchange = $json->{'exchangeCode'};
              $volume   = $json->{'
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/CurrencyRates/AlphaVantage.pm ( view source; MetaCPAN )
e strict;
use warnings;

use constant DEBUG => $ENV{DEBUG};
use if DEBUG, 'Smart::Comments';

use JSON;

our $VERSION = '1.67_01'; # TRIAL VERSION

sub parameters {
  return ('API_KEY');
}

sub new
{
l = 'https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE';
  my $try_cnt = 0;
  my $json_data;
  my $rate;
  do {
    $try_cnt += 1;
    my $reply = $ua->get($url
        . '&from_curren


    $json_data = JSON::decode_json $body;
    if ( !$json_data || $json_data->{'Error Message'} ) {
      return;
    }

    ### JSON: $json_data
  
    sleep (20) if (($try_cnt < 5) && ($json_data-
Finance-Quote ( B/BP/BPSCHUCK/Finance-Quote-1.67_01.tar.gz, BPSCHUCK, 2025; MetaCPAN )
Finance-Quote/lib/Finance/Quote/TMX.pm ( view source; MetaCPAN )
BUG};
use if $DEBUG, 'Smart::Comments';

use HTTP::Request;
use LWP::UserAgent;
use JSON qw( decode_json encode_json );
use String::Util qw(trim);

our $VERSION = '1.67_01'; # TRIAL VERSION

our @labe
                "authorization"    => "",
                     "content-type"     => "application/json",
                     "locale"           => "en",
                     "sec-ch-ua"        => "\"
h   : $url, $reply->code
      ### reply    : $reply->content
      
      my $data      = decode_json $reply->content;
      if (exists $data->{errors}) {
            $info{$symbol, 'errormsg'} = $da

Powered by Groonga
Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on GitHub.