Tôi muốn thay thế từ "xanh" thành "đỏ" trong tất cả các tệp văn bản có tên là 1_classification.dat, 2_classification.dat, v.v. Tôi muốn chỉnh sửa cùng một tệp vì vậy tôi đã thử mã này nhưng nó không hoạt động. Tôi làm sai ở đâu?Làm thế nào để thay thế một chuỗi trong một tệp hiện có trong Perl?
@files=glob("*_classification.dat");
foreach my $file (@files)
{
open(IN,$file) or die $!;
<IN>;
while(<IN>)
{
$_='~s/blue/red/g';
print IN $file;
}
close(IN)
}
Dấu ngoặc kép nếu lệnh này chạy dưới Windows – Zaid
Có hoặc không có dấu ngoặc kép nào nếu mã không chứa dấu cách. – bart
Sử dụng '*' globbing trong đối số dường như không hoạt động trong cửa sổ. – TLP