1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
#!/usr/bin/perl -w use LWP; use JSON; use strict; use warnings; use Date::Calc qw(:all); use LWP::Simple; sub get_lautfm_playing($) { my $station = shift; my $url = get ("http://api.laut.fm/station/".$station."/current_song"); my $json_obj = decode_json $url; $$json_obj{'artist'} = 'unbekannt' if !defined($$json_obj{'artist'}); $$json_obj{'title'} = 'unbekannt' if !defined($$json_obj{'title'}); # Rückgabe von Artist und Title if($$json_obj{'title'}=~m/(.*?)\s*\((.*)\)\s*(\d+)/) { # Artist, Titel, Version, Jahr ($$json_obj{'artist'},$1,$2,$3); } elsif($$json_obj{'title'}=~m/(.*?)\s*\((.*)\)/) { # Artist, Titel, Version, Jahr = '' ($$json_obj{'artist'},$1,$2,''); } else { # Artist, Titel, Version = '', Jahr = '' ($$json_obj{'artist'},$$json_obj{'title'},'',''); } }
string(304) "{"id":943936,"title":"Body Heat (12-Inch) 1978","album":"Disco & High-Energy Tracks","genre":"Disco","releaseyear":"1978","created_at":"2011-07-11 14:10:42 +0200","started_at":"2011-07-14 19:30:33 +0200","length":309,"ends_at":"2011-07-14 19:35:42 +0200","type":"song","artist":{"name":"Alicia Bridges"}}"
Not a SCALAR reference at line 33.
1 2 3 4 5 6 7 8 9 10 11 12 13
my $data = get_data_from('foo'); die('no data') unless(defined($data)); my $obj = decode_json($data); if(defined($obj)){ if(exists($obj->{'foo'}) && defined($obj->{'foo'})){ if (exists($obj->{'foo'}->{'bar'}) && defined($obj->{'foo'}->{'bar'})){ print $obj->{'foo'}->{'bar'}; } } }
# code von zeile 33
# code von zeile 17
2011-07-14T22:10:28 LinuxerEs gibt in der Tat hier Teilnehmerinnen und Teilnehmer, die
1. gut in der Lage sind, zu erraten, was evtl. gesucht sein könnte
2. erstaunliche Trefferquoten erzielen, auch das aktuell Gewünschte zu erraten
2011-07-15T03:18:06 kristianMir scheint wir haben ein Verständigungsproblem.