아마도 AS/400에서 RPG IV와 같은 것으로 해석되는 파일을 작성해야합니다 (그러나 그 사실을 모릅니다). 이 파일은 MySQL 데이터베이스에서 데이터를 읽은 다음 지정된 형식으로 작성하여 만듭니다. 상당히 클 수 있습니다 (잠재적으로 GB로 측정되었지만 아직 결정되지 않았습니다). 지금은 펄 (Perl)이 format
에 내장되어 있다고 생각합니다. 실제로 Xslate 및 Template Toolkit과 같은 것들이 너비 (HTML)가 고정되어 있지 않은 것들을 위해 설계 되었기 때문에 실제로 가장 좋은 방법이라고 생각합니다. 내 유일한 관심은 거기에 format
은 조건부를 가지고 있지 않은 것처럼 보입니다. 필드 A가 설정된 경우, 왼쪽 정렬 된 형식, 오른쪽 맞춤 및 그렇지 않은 경우 패딩 된 형식을 찾았습니다.)고정 폭 필드 파일을 작성하는 좋은 방법은 무엇입니까?
답변
다른 가능성은 마음에 pack 및 sprintf 기능 제품군입니다.
pack
은 오른쪽 맞춤 텍스트를 지원하지 않으므로 옵션이 될 수 없습니다.
그게 printf를 남깁니다. 양쪽 정렬을 위해 조건부 논리를 지원하기 위해 프로그래밍 방식으로 형식 지정자를 작성할 수 있습니다.
필자는'pack'과'sprintf'의 조합을 사용할 때만 후자를 사용했습니다. – xenoterracide
Template Toolkit은 고정 너비 형식의 파일을 만들 때 서비스 가능한 작업을 수행 할 수 있습니다. 트릭은 템플릿을 사용하여 파일 및 레코드 구조를 설명하지만 Perl 함수 형식으로 각 필드의 데이터 형식을 지정하는 것입니다.
템플릿을 건너 뛰고 Perl에서 모든 서식을 지정하는 것이 더 쉽습니다. 어떤 방법 으로든 필드의 서식을 지정하는 방법을 고려해야합니다. 내 경험에 의하면 sprintf
이 더 좋으며 고정 폭 형식의 파일에 필요한 서식 지정 사례를 더 많이 처리합니다. 아마 당신의 불행이 있다면 EBCDIC/COBOL 부호있는 숫자를 ASCII로 인코딩 한 것과 같은 몇 가지 도우미 기능을 구현해야 할 것입니다.
레거시 고정 폭 형식의 파일에는 수천 건의 특수한 경우가 있습니다. XML 데이터 파일을 만들 정도로 충분합니다. 일반적으로 파일 형식을 지정하는 가장 좋은 방법이 무엇인지 결정하는 것이 가장 이상한 특수한 경우입니다.
- 1. 고정 폭 번호에는 어떤 필드 유형을 사용해야합니까?
- 2. 자동 폭 div 옆에 고정 폭 div를 추가하는 방법은 무엇입니까?
- 3. 고정 폭 레이아웃을 플렉스 폭 레이아웃으로 변환하는 방법은 무엇입니까?
- 4. 웹 사이트 고정 폭
- 5. C, 고정 폭 문자
- 6. MailMerge : 고정 폭 글꼴이 없습니까?
- 7. Java 고정 폭 글꼴 그립니다.
- 8. 고정 폭 : 데이터 테이블
- 9. CSS 고정 폭 범위
- 10. 고정 폭 배쉬
- 11. BootstrapWP - 고정 폭 설정
- 12. 줄임표 고정 폭
- 13. 고정 폭 글꼴
- 14. HTML : tds의 고정 폭 및 가변 폭
- 15. epydoc : 고정 폭 텍스트 블록
- 16. 문자열에서 고정 폭 파일 만들기
- 17. XML 파일을 작성하는 방법은 무엇입니까?
- 18. Java에서 Excel 파일을 작성하는 가장 좋은 방법은 무엇입니까?
- 19. Windows-mobile에서 오류 로그 파일을 작성하는 가장 좋은 방법은 무엇입니까?
- 20. 고정 폭 div에서 고정 gridview 헤더
- 21. 너비와 고정 너비의 고정 폭 문제
- 22. IDE에서 고정 폭 글꼴을 사용하는 이유는 무엇입니까?
- 23. 배치 스크립트를 작성하는 가장 좋은 방법은 무엇입니까?
- 24. 고정 높이 요소에서 모서리를 처리하는 가장 좋은 방법은 무엇입니까?
- 25. 고정 폭 센터 3 열 레이아웃을 만드는 방법은 무엇입니까?
- 26. Windows에서 모든 고정 폭 글꼴을 가져 오는 방법은 무엇입니까?
- 27. GTK와 Pango를 사용하여 글꼴이 고정 폭 글꼴인지 확인하는 방법은 무엇입니까?
- 28. 고정 폭 div 위에 요소를 펼칩니다.
- 29. 소프트웨어 패치를 작성하는 좋은 방법은 무엇입니까?
- 30. 위치를받은 후 텍스트 파일을 작성하는 방법은 무엇입니까?
또 다른 가능성은 [Perl6 :: Form] (https://metacpan.org/module/Perl6::Form)입니다. Perl5는 Perl6의'format' 버전입니다. 나는 조건문에 대한 당신의 의견에 대해 확신하지 못하지만, 이것은 형식 이상입니다. – stevenl