2010-06-17 24 views

Trả lời

1

một cách để làm điều này, nhưng nó sẽ không đẹp. Bạn có thể lặp lại mã perl của bạn thành tệp .pl tạm thời và sau đó chạy tệp đó từ trong số .bat của bạn.

+0

Nghĩ về điều đó nhưng nghĩ nó sẽ làm cho bạn thân của tôi khóc. :) – Rick

4

Có thể.

Trên thực tế, đây chính xác là công cụ pl2bat thực hiện: nó biến đổi chương trình perl thành tệp hàng loạt nhúng chương trình perl. Có một cái nhìn để pl2bat.bat chính nó.

Vì vậy, bạn có thể lấy số .pl, chuyển đổi nó bằng pl2bat và sau đó chỉnh sửa phần hàng loạt nếu bạn cần. Phần lớn nhất của mã lô phải được đặt ở cuối tệp (gần nhãn :end_of_perl) vì trong mã ở đầu bạn bị giới hạn không sử dụng dấu nháy đơn.

Tuy nhiên:

  • phương pháp đơn giản này sẽ không hoạt động nếu bạn cần để nhúng hơn là một file perl
  • này sẽ là một cơn ác mộng bảo trì.

Vì vậy, tôi đề xuất thay vì viết toàn bộ quy trình trong một chương trình Perl.

Cập nhật: nếu bạn có một kịch bản và một số module Perl mà bạn muốn kết hợp trong một tập tin thực thi duy nhất, bạn có thể kết hợp các tập tin Perl sử dụng fatpack, và sau đó áp dụng pl2bat vào kết quả.

+0

Đó là vấn đề. Tôi đã có 2 tập tin perl mà tôi muốn sử dụng. Nhưng cảm ơn đề nghị! – Rick

+0

@Rick: Tôi đã cập nhật câu trả lời cho trường hợp của bạn. – dolmen

22

Active Perl đã thực hiện việc này trong nhiều năm!

Dưới đây là bộ xương. Bạn chỉ có thể gọi perl sau khi. Bởi vì qua nó, công tắc -x cho biết bạn sẽ tìm thấy mã perl được nhúng trong tệp này và perl đọc xuống tệp cho đến khi nó tìm thấy một shebang perl (#!...perl) và bắt đầu thực hiện ở đó. Perl sẽ bỏ qua tất cả mọi thứ qua __END__ và bởi vì bạn đã nói với DOS để goto endofperl nó sẽ không bận tâm với bất cứ điều gì cho đến khi nó được nhãn.

@rem = '--*-Perl-*-- 
@echo off 
perl -x -S %0 %* 
goto endofperl 


@rem -- BEGIN PERL -- '; 
#!d:/Perl/bin/perl.exe -w 
#line 10 

use strict; 


__END__ 
:endofperl 
+0

Đây chính xác là điều tôi đang tìm kiếm! Tôi sẽ bỏ phiếu cho điều này nhưng nó nói với tôi để đăng ký để làm điều đó. – Rick

Các vấn đề liên quan