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

 
Friday, May 18, 2007

Perl 펄] 파일명 변경, 디렉토리명 바꾸기; 리네임 함수; File Dir Rename


펄에서는 rename 함수(서브루틴)로 파일명이나 디렉토리명을 다른 이름으로 바꿀 수 있습니다.

주의 사항: 변경할 파일명으로 된 파일이 이미 존재한다면 덮어쓰게(Overwrite) 됩니다. 아무 경고도 없이 겹쳐쓰게 되고, 대상 파일의 내용은 교체되어 버립니다. 아주 위험하기에, 리네임 전에, 같은 파일명이 이미 존재하는지 체크해야 합니다.

리네임할 때마다 체크하는 것은 힘들어서, safeRename 이라는 이름의 함수를 만들었습니다. 같은 이름이 있다면 변경하지 않고 논리적 거짓(0)을 반환합니다.

파일 이름, 폴더 이름, 안전하게 변경 함수 예제


파일명: example.pl
#!/usr/bin/perl
use strict; use warnings;

  my $filename_old = "test000.txt";
  my $filename_new = "test111.txt";


  if (!safeRename($filename_old, $filename_new)) {
    print "이름 변경 에러\n";
  }
  else {
    print "성공적으로 변경\n";
  }



sub safeRename {
  my $old = shift;
  my $new = shift;

  # 원래 파일명과 새 파일명이 같으면 성공 반환
  return 1 if ( ($old eq $new) && -e $old);

  # 원래 이름의 파일/디렉토리가 없거나
  # 새 이름의 파일/디렉토리가 이미 존재하면 거짓(에러;0) 반환
  return 0 if (!-e $old || -e $new);

  # 모든 것이 정상일 경우에만 이름 변경
  rename($old, $new) or return 0;

  return 1; # 논리적 참(1; true) 반환
}



0 Comments:

Post a Comment

<< Home RSS 2.0 feed

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