Prty
view release on metacpan or search on metacpan
lib/Prty/System.pm view on Meta::CPAN
=head3 encoding() - Character-Encoding der Umgebung
=head4 Synopsis
$encoding = $this->encoding;
=head4 Description
Liefere das in der Umgebung eingestellte Character-Encoding. In dieses
Encoding sollten Ausgaben auf das Terminal gewandelt werden.
Wir ermitteln das Encoding durch Aufruf der internen Funktion
_get_locale_encoding() des Pragmas encoding.
=head4 See Also
Pragma encoding
=head4 Example
Gib non-ASCII-Zeichen im Encoding der Umgebung auf STDOUT aus:
my $encoding = Prty::System->encoding;
binmode STDOUT,":encoding($encoding)";
print "äöüÃÃÃÃ\n";
=cut
# -----------------------------------------------------------------------------
sub encoding {
my $this = shift;
require encoding;
my $encoding = encoding::_get_locale_encoding();
$encoding =~ s/-strict$//; # Korrektur utf-8-strict
return $encoding;
}
# -----------------------------------------------------------------------------
=head2 User
=head3 user() - Benutzername zu User-Id
=head4 Synopsis
$user = $this->user($uid);
=head4 Description
Liefere den Namen des Benutzers mit User-Id (UID) $uid.
=cut
# -----------------------------------------------------------------------------
sub user {
my ($this,$uid) = @_;
return getpwuid($uid) // do {
$this->throw(
q~SYS-00001: Benutzer existiert nicht~,
Uid=>$uid,
Error=>"$!",
);
};
}
# -----------------------------------------------------------------------------
=head3 uid() - User-Id zu Benutzername
=head4 Synopsis
$uid = $this->uid($user);
=head4 Description
Liefere die User-Id (UID) des Benutzers mit dem Namen $user.
=cut
# -----------------------------------------------------------------------------
sub uid {
my ($this,$user) = @_;
return getpwnam($user) // do {
$this->throw(
q~SYS-00001: Benutzer existiert nicht~,
User=>$user,
Error=>"$!",
);
};
}
# -----------------------------------------------------------------------------
=head2 Suchpfad
=head3 searchProgram() - Suche Programm via PATH
=head4 Synopsis
$path = $class->searchProgram($program);
=head4 Options
=over 4
=item -sloppy => $bool (Default: 0)
Wirf keine Exception, wenn das Programm nicht gefunden wird,
sondern liefere C<undef>.
=back
=cut
# -----------------------------------------------------------------------------
( run in 2.426 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )