#! perl -slw use strict; require Tk; #use Tk::X11Font; require Tk::JPEG; require LWP::UserAgent; require MIME::Base64; require IO::Socket; my $stop = 0; my $mw = MainWindow->new(title=>"Cams"); $mw->minsize( qw(640 480)); my $top = $mw->Frame()->pack(-side=>'top'); my $bottom = $mw->Frame()->pack(-side=>'bottom'); my @photos = ( $top->Label()->pack(-side => 'left'), $top->Label()->pack(-side => 'right'), $bottom->Label()->pack(-side => 'left'), $bottom->Label()->pack(-side => 'right'), ); my @jpgs = glob $ARGV[0]; my @data = map{ local $/; open my $fh, '<:raw', $_; <$fh> } @jpgs; my @image; $mw->Button(-text=>"Stop",-command => sub { $stop=1; })->pack(); $mw->repeat( 1000, sub{ for my $n ( 0 .. 3 ) { my $data = MIME::Base64::encode_base64( $data[ rand @data ] ); $image[ $n ]->delete if $image[ $n ]; undef $image[ $n ]; $image[ $n ] = $mw->Photo( -format=>'jpeg', -data=>$data ); $photos[ $n ]->configure( -image => $image[ $n ] ); } } ); Tk->MainLoop;