내가 의미하는이 표현을 이해하려는 뜻이 정규식을 설명 할 수 있습니다. 작업이 대는 사람이 나에게
$req_msg =~ s/ \${$toReplace}/$replacements->{$toReplace}/g;
내가 의미하는이 표현을 이해하려는 뜻이 정규식을 설명 할 수 있습니다. 작업이 대는 사람이 나에게
$req_msg =~ s/ \${$toReplace}/$replacements->{$toReplace}/g;
$ req_msg = ~ s/\ $ {$ toReplace}/$ replacement-> {$ toReplace}/g;
들 교체를 위해 사용된다.
$content = "Hi I am a coder and I like coding very much!";
$content =~ s/i/eye/i;
지금 $ 내용
"Heye 눈이 매우 코딩과 같은 코더와 눈이다"포함됩니다 $content=~ s/old_value/new_value/modifier;
예 (수정 난, g, 함께 또는 조합 X 될 수 있습니다) > {$ toReplace} $ 대체는 그 키 $ toReplace 인 해시 참조 수단 - 동일한 방법 $ 단순히 스칼라 기준 수단 {$ toReplace}에서 오래 교체해야 값 $ 교체이다. $ hash_value = hash_ref -> {key}에 익숙합니다. 이 스칼라 참조에 의해 반환 된 값을 찾아 whereever
는 $의 req_msg
에있는 해당 값으로 해시 참조의 키에 의해 대체 도착하지만 난 당신이 빈 교체를 얻었 기 때문에이 질문을 것 같아요. 스칼라 참조 문제가 원인 일 수 있습니다.
이 코드는 의심을 제거에 도움이 될 수 있습니다.
#!/usr/bin/perl
use strict;
use warnings;
my $value = "Jassi";
my $scalar_ref = \$value;
print "scalar_ref = $scalar_ref \n and value = $value and ${$scalar_ref}\n";
my %hash = ("Jassi", "aliencoders");
my $hash_ref = \%hash;
my $reg_msg = "Hi this is Jassi";
print "reg_msg = $reg_msg \n";
$reg_msg =~ s/${$scalar_ref}/$hash_ref->{${$scalar_ref}}/;
print "reg_msg after s = $reg_msg\n";
마지막 두 번째 줄을 참조하십시오!
필수 두 변수 :
$toReplace
- 임의의 값$replacements
포함 - ERM 함유 해시 REF, 교체을 $toReplace
포함 감안 "foo는"$req_msq
의 내용 (주요 단일 공간) ${foo}
를 검색 재치 이 모든 경우는 $replacements->{foo}
으로 바뀝니다.
나는 그것을'$ {foo는}'이 아닌'$의 foo' 찾고있을 거라고 생각해. – Qtax
물론, @ Qtax. 수정되었습니다. –
그것은 모든 ${blabla}
이 $req_msg
에 blubb
으로 대체 할 것입니다 키 blabla
으로 해시 참조 $replacements
에 저장되어있는 어떤로 텍스트 ${blabla}
나타날 때마다, 예컨대 :
$replacements = { 'blabla' => 'blubb' };
을 대체합니다.
응답 주셔서 감사합니다 – Balakrishna
내 기쁨 balakrishna – Jassi