$ perl -cw 1152653.pl Global symbol "$in" requires explicit package name at 1152653.pl line 9. Global symbol "$in" requires explicit package name at 1152653.pl line 11. Missing right curly or square bracket at 1152653.pl line 14, at end of line syntax error at 1152653.pl line 14, at EOF 1152653.pl had compilation errors. #### use strict; use warnings; open my $in, '<', '1.txt' or die "Cannot open 1.txt: $!"; while (my $file = <$in>) { $file =~ s/..![^!]*something.*\.c//; print $file; } close $in; #### $ cat 1.txt foo ?!?!?!/pack/something/whatever.cacshdska bar $ perl fixup.pl foo ?!?acshdska bar