Webseite im Browser öffnen, wenn ein Button angeklickt wird

In HTML kann man Links auf Webseiten mit dem a-Tag definieren: <a href="www.perltk.de">Linktext</a>. So eine Funktionalität musste man sich in Perl/Tk in der Vergangenheit selbst bauen. Inzwischen gibt es ein Widget dafür: Tk::HyperlinkButton


Beispiel

Das Fenster enthält einen anklickbaren Button, der einen Callback aufruft. Der Tk::HyperlinkButton könnte im Callback beispielsweise eine URL im Browser aufrufen. Dazu gibt es das Modul Browser::Open.

#!perl

use strict;
use warnings;
use Tk;
use Tk::HyperlinkButton;
use Browser::Open qw( open_browser );
 
my $mw = MainWindow->new();
$mw->geometry('640x480');
 
my $link_text = 'metacpan.org';
my $link_target = 'http://www.metacpan.org';
my $link_callback = sub{ 
	print "your callback here\n"; 
	my $ok = open_browser($link_target);
};
 
my $hyperlink_widget = $mw->HyperlinkButton(
    -text => $link_text,
    -target => $link_target,
    -command => $link_callback,
);
 
$hyperlink_widget->pack;
 
$mw->MainLoop;
Top