problem jest związany z tym (o ile dobrze interpretuje) ze na końcu zmiennej wczytanej przez stdin na jej końcu znajduje się znak końca wiersza. Dokładniej:
Mam następujący kod w perlu (po okrojeniu z zbędnych w tym momencie rzeczy):
$name=;
$f="---------".$name."txt";
print $f;
jako wartość na stdin wpisuje powiedzmy “ab”. Oczekiwałbym, że dostane wynikowo ---------abtxt, a otrzymuje:
Tak jak napisałeś, na końcu $name jest znak nowego wiersza, takie jest domyślne zachowanie. Jeśli nie chcesz tego znaku nowego wiersza, użyj funkcji chomp: http://perldoc.perl.org/functions/chomp.html