/usr/share/perl5/Lire/UI/StringWidget.pm is in lire 2:2.1.1-2.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | package Lire::UI::StringWidget;
use strict;
use base qw/ Curses::UI::TextEntry Lire::UI::Widget /;
use Curses::UI::Common;
use Lire::Utils qw/ check_object_param /;
use Carp;
use vars qw/@CARP_NOT/;
@CARP_NOT = qw/Curses::UI::Container/;
sub new {
    my $class = shift;
    my %userargs = @_;
    keys_to_lowercase(\%userargs);
    check_object_param( $userargs{'value'}, 'value',
                        'Lire::Config::Scalar' );
    my $regexp = $userargs{'value'}->spec()->valid_re();
    return
      $class->Curses::UI::TextEntry::new( %userargs,
                                          '-height' => 1,
                                          '-sbborder' => 1,
                                          '-text' => $userargs{'value'}->get(),
                                          '-onchange' => \&_on_change_cb,
					  '-regexp' => $regexp,
                                        );
}
sub layout {
    my $self = $_[0];
    $self->{'-height'} = 1;
    return $self->SUPER::layout();
}
sub refresh_view {
    my $self = $_[0];
    $self->text( $self->{'value'}->get() );
    return;
}
sub _on_change_cb {
    my $self = $_[0];
    $self->{'value'}->set( $self->{'-text'} );
    $self->run_event( 'onvaluechanged' );
    return;
}
1;
 |