perl의 정규 표현식에 몇 가지 문제가 있습니다. 다른 문자열의 시작 부분에 문자열을 추가하려고합니다. 실제로 파일 이름의 시작 부분에 문자열을 삽입합니다. 내가 원하는 것은 파일이 이미 그것으로 시작한다면 그 문자열을 삽입하기 전에 검사하는 것이다.정규식 및 변수 이름의 정규식
if ($ficheroSinExt !~ m/^$strCadena/){
# if it doesn't exist at the beginning, I insert it...
$ficheroSinExt = $strCadena . " " . $ficheroSinExt;
}
else{
print "---->It already exists!!!\n";
}
나는 하나의 시작 ("[펄] File1.pdf"와 "File2.pdf에서 [펄]를 포함하는 두 개의 파일 이름으로 테스트하고 있습니다 :
이
는 내가 가지고있는 코드입니다 "), $ strCadena에는 [Perl]이 있습니다. 필자는 두 파일 모두에 [Perl]을 추가하기 때문에 새로운 이름은 "[Perl] [Perl] File1.pdf"및 "[Perl] File2.pdf"입니다.문제는 일치 연산자의^$ strCadena에서 발생한다고 생각하지만 문제 해결을 위해 도착하지 않았습니다. 나 한테 손을 줘 줄래? 사전에
감사합니다, 디에고
'$ ficheroSinExt = ~ S/^ (?! Q $ strCadena \ E)/$ strCadena/x; ' –