, 나는이 방법을 알고Perl에서 파일을 읽는 방법과 존재하지 않는 경우 파일을 만드시겠습니까? 펄에서
open(my $in, "<", "inputs.txt");
는 파일을 읽고 있지만 그것은 단지 파일이 존재 그렇다면 않습니다. 다른 방법으로 수행
의 +와 하나
open(my $in, "+>", "inputs.txt");
는/파일을 작성 그렇게 내가 파일을 읽고 프로그램에 저장 할 수있는 기회를 얻을하지 않습니다 존재하는 경우 자릅니다.
파일이 존재하는지 여부를 고려하여 Perl에서 파일을 읽으려면 어떻게해야합니까?
그래, 내 코드를 편집했지만 여전히 파일을 읽을 수 없습니다. 문제는 루프에 들어 가지 않는다는 것입니다. 내 코드에 장난 스럽다?
open(my $in, "+>>", "inputs.txt") or die "Can't open inputs.txt : $!\n";
while (<$in>) {
print "Here!";
my @subjects =();
my %information =();
$information{"name"} = $_;
$information{"studNum"} = <$in>;
$information{"cNum"} = <$in>;
$information{"emailAdd"} = <$in>;
$information{"gwa"} = <$in>;
$information{"subjNum"} = <$in>;
for ($i = 0; $i < $information{"subjNum"}; $i++) {
my %subject =();
$subject{"courseNum"} = <$in>;
$subject{"courseUnt"} = <$in>;
$subject{"courseGrd"} = <$in>;
push @subjects, \%subject;
}
$information{"subj"} = \@subjects;
push @students, \%information;
}
print "FILE LOADED.\n";
close $in or die "Can't close inputs.txt : $!\n";
또한 먼저 존재를 확인 수를'경우 (-e "/ 파일 경로/파일") {...}' – vol7ron
대신 파일 기반 데이터 저장을 위해 자신의 시리얼 라이저와 파서를 코딩 , 나는 그 작업의 대부분을하기 위해 ['YAML'] (https://metacpan.org/pod/YAML)이나 ['JSON'] (https://metacpan.org/pod/JSON)을 사용할 것을 권한다. 당신. – Miller