1. "인간에게 의미있는 정보를 담고 있는 추상적인 문자열"과 "컴퓨터가 그 정보를 저장하기 위해 사용하는 구체적인 바이트 덩어리"를 구분해서 생각해야 한다. (사용자는 그럴 이유가 없지만 프로그래머는 그래야 한다) 2. Perl 은 "문자열"을 다룰 수 있으나, 기본적으로 우리가 작성해서 저장한 펄 스크립트는 "바이트 덩어리" 형태로 저장되어 있고, 따라서 별도의 지시가 없으면 바이트 단위로 연산을 하게 된다. 3. 안타깝게도 한글은 한개의 "문자"가 한개의 "바이트"에 대응되지 않기 때문에, 문제가 생긴다. 4. 따라서 Perl 프로그램 내에서 한글 영문을 가리지 않고 "문자열"로써 다루고자 하면 바이트 덩어리를 문자열로 변환, 즉 디코드해야 한다. 5. 일단 디코드된 문자열은, 정규식이나 각종 스트링 관련 함수에서 정확히 의미에 맞게 다룰 수 있다. 6. 문자열을 외부에 출력하기 전에는 다시 바이트 덩어리로 인코드해야 한다. 또 외부에서 입력을 받을 때도 바이트 덩어리 형태로 들어온다는 걸 염두에 둬야 한다.