컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Perl/펄] 배열에 다른 배열 추가/합치기/병합 함수; Merge ArrayExcel/엑셀 팁] 마지막 행까지, 맨 끝 열까지 이동 핫키; goto Bottom Ro...Excel] 엑셀 2003과, 엑셀 2007의, 행과 열의 최대 개수, 범위; Max Ro...Excel-엑셀-VBA] 남녀 키(신장)의 평균, 표준편차 랜덤 난수 발생; Human S...아래아 한글, MS워드의 차이점; HWP 워드프로세서와 Word의 차이, 장단점Excel] 엑셀 VBA(비베) 반올림 함수; 정수로, 지정한 자릿수만큼; Round To...Java/자바] 한국 남녀 키(신장)의 평균, 표준편차 랜덤 난수 생성; Human Sta...Python/파이썬] 한국인 남녀 키(신장)의 평균, 표준편차 랜덤 난수 생성; Human...통계] 대한민국 인체 치수의 평균 표준편차 데이터 얻기; Size Korea, Human ...Python/파이썬] 리스트(배열) 합계, 산술 평균 구하기; List-Array Sum,...

Perl/펄 문제 해결] Possible attempt to separate words with commas

Wednesday, February 14, 2007

use warnings; 프라그마를 사용하여, 경고를 출력하게 했을 때,

Possible attempt to separate words with commas at D:\Z\example.pl line 5

라는 경고가 나오는 경우가 있습니다. "콤마로써 단어(요소)들을 서로 구분하려 했을 수 있다"는 뜻입니다.

이것은 qw() 로 배열을 초기화할 때, 그 배열 요소들 사이에 쉼표(콤마)를 넣어주었다는 경고입니다.

qw() 로 배열을 정의할 때는 쉼표가 아닌 공백(스페이스)문자로만 요소들을 구분합니다.

따라서 쉼표를 제거하면 경고가 없어집니다.


아래 예제의 배열 @x 의 선언에 문제가 있습니다. 요소를 구분하느라 넣어준 쉼표가, 요소의 일부분으로서 출력됩니다.

만약 정말로 쉼표가 들어간 요소를 배열에 넣으려면 qw() 가 아닌, 아래 예제의 @o2 배열 선언처럼 정식으로 배열을 만들어야 합니다. qw() 는 공백이나 특수문자는 잘 처리하지 못하기 때문입니다.

#!/usr/bin/perl
use warnings;


  my @o = qw( 자장면 탕수육 짬뽕 우동 물만두 );
  my @x = qw( 자장면, 탕수육, 짬뽕, 우동, 물만두 );
  my @o2 = ( "자장면,", "탕수육,", "짬뽕,", "우동,", "물만두," );


  # 배열 @o 의 내용 출력 코드
  for (my $i = 0; $i <= $#o; $i++) {
    print "\$o[$i] = $o[$i]\n";
  }


  print "\n\n\n"; # 줄바꿈


  # 배열 @x 의 내용 출력 코드
  for (my $i = 0; $i <= $#x; $i++) {
    print "\$x[$i] = $x[$i]\n";
  }


  print "\n\n\n"; # 줄바꿈


  # 배열 @o2 의 내용 출력 코드
  for (my $i = 0; $i <= $#o2; $i++) {
    print "\$o2[$i] = $o2[$i]\n";
  }


실행 결과 화면:
1번째 출력 결과는, 정상
2번째 출력 결과는, 약간의 오류
3번째 출력 결과는, 정말로 쉼표가 포함된 요소를 정상적으로 출력한 것

D:\Z>example.pl
Possible attempt to separate words with commas at D:\Z\example.pl line 6.
$o[0] = 자장면
$o[1] = 탕수육
$o[2] = 짬뽕
$o[3] = 우동
$o[4] = 물만두



$x[0] = 자장면,
$x[1] = 탕수육,
$x[2] = 짬뽕,
$x[3] = 우동,
$x[4] = 물만두



$o2[0] = 자장면,
$o2[1] = 탕수육,
$o2[2] = 짬뽕,
$o2[3] = 우동,
$o2[4] = 물만두,

D:\Z>



▶▶ [Perl/펄 강좌] 배열(Array) 정의에서, qw 란?

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top