#!/usr/bin/env -S perl -T use strict; use warnings; use 5.020; use Scalar::Util qw(tainted); sub untaint_unchecked { ($_[0] =~ /(.*)/)[0]; } sub check_taint { my ($name,$var) = @_;; my $tainted = tainted($var) ? '' : ' nicht'; say "$name mit Wert '$var' ist$tainted verdorben"; } check_taint("Umgebungsvariable HOME", $ENV{HOME}); my $var = $ENV{HOME} =~ s!/!::!gr; check_taint("Modifizierte Kopie",$var); my $laundered = untaint_unchecked($var); check_taint("Reingewaschene Variable",$laundered);