package XHR; # Analog zu JavaScript XHR use strict; use warnings; use HTTP::Request; use LWP::UserAgent; sub new{ my $class = shift; my $callback = shift; bless { ua => LWP::UserAgent->new(), cb => $callback }, $class; } sub request{ my $self = shift; my %par = ( method => 'GET', uri => '', content => '', header => [], @_ ); my $r = HTTP::Request->new( @par{qw(method uri header content)} ); my $res = $self->{ua}->request($r); $self->{cb}->($res); } ########################################################################### package main; use strict; use warnings; sub callback{ my $self = shift; # Response Objekt print $self->as_string; } my $xhr = new XHR(*callback); $xhr->request( uri => 'https://www.rationalgalerie.de/', );