#!/usr/bin/perl
use strict;
use warnings;
use Tk;
$| = 1;
my $search_pattern = '';
my $mw = MainWindow->new;
$mw->geometry( '+700+300' );
my $search = $mw->Entry (-width => 20, -textvariable => \$search_patte
+rn)->pack;
$search->bind('<KeyPress-Return>', \&search);
$search->focus;
$mw->Button(-text => 'Clear', -command => sub {$search_pattern = ''})-
+>pack;
$mw->Button(-text => 'Exit', -command => sub {$mw->destroy})->pack;
MainLoop;
sub search
{
my ($string );
print "Pattern entered into Search-box is: $search_pattern\n ";
use Data::Dump 'dd'; dd 'got', [ $search_pattern ];
## CHECK $search_pattern and untaint:
if( $search_pattern =~ /^([\w\s\-\:\_\d]+)$/ )
{ ## make sure it only contains \w, '-' , ':' , '_' , and digits
$string = $1; ## DON'T forget 's -- space between prog and $arg
print "\$string is untainted; \$string = $string \n ";
}
else
{
print "OOPS! data is tainted or empty. TRY AGAIN...\n ";
}
}