#!/usr/bin/perl -w use strict; use warnings; my $string = '_(()hallo'; my $neu = substr($string,0,1); for (my $z = 1; $z <= length($string); $z ++) { $neu .= ( substr($string,$z-1,1) =~ /[^a-z0-9]/ ? uc(substr($string,$z,1)) : substr($string,$z,1) ); } print $neu;