Запитання з тегом «perl»

Perl - це процесуальна, динамічна мова програмування на високому рівні, динамічне програмування загального призначення, відома своєю рідною підтримкою регулярних виразів та можливостей розбору рядків. Будь ласка, використовуйте цей тег для запитань про Perl взагалі. Для речей, пов'язаних з новою (але спорідненою) мовою Раку (раніше "Perl 6"), будь ласка, використовуйте тег raku. Для регулярних виразів у стилі Perl іншими мовами використовуйте тег regex або тег pcre, якщо вони базуються на бібліотеці PCRE.


5
Як я можу використовувати CPAN як некорневого користувача?
Я хочу встановити модулі perl на спільний сервер, на якому я не маю root-доступу. Як я можу це зробити? Вони також мають стару версію CPAN (вона скаржиться на це при запуску команди), чи можливо оновити команду CPAN, яка використовується з мого облікового запису, не вимагаючи кореневого доступу?
81 perl  cpan 

8
Командний рядок: пошук і заміна у всіх назвах файлів, що відповідають grep
Я намагаюся знайти та замінити рядок у всіх файлах, що відповідають grep: grep -n 'foo' * дасть мені результат у вигляді: [filename]:[line number]:[text] Для кожного файлу, що повертається grep, я хотів би змінити файл, замінивши fooна bar.
80 linux  perl  awk  sed  grep 

14
У Perl, як мені створити хеш, ключі якого надходять із заданого масиву?
Скажімо, у мене є масив, і я знаю, що буду робити багато "Чи містить масив X?" перевірки. Ефективний спосіб зробити це - перетворити цей масив на хеш, де ключі є елементами масиву, і тоді ви можете просто сказатиif ($ хеш {X}) {...} Чи є простий спосіб зробити це перетворення масиву …
80 arrays  perl  hash 

9
Як я можу видалити текст у дужках за допомогою регулярного виразу?
Я намагаюся обробляти купу файлів, і мені потрібно змінити, щоб видалити сторонні дані з імен файлів; зокрема, я намагаюся видалити текст у дужках. Наприклад: filename = "Example_file_(extra_descriptor).ext" і я хочу згенерувати цілу купу файлів, де вираз у дужках може бути посередині або в кінці, і змінної довжини. Як би виглядав …
79 python  regex  perl 

9
Чи існує ярлик Perl для підрахунку кількості збігів у рядку?
Припустимо, у мене є: my $string = "one.two.three.four"; Як я повинен грати з контекстом, щоб дізнатися, скільки разів шаблон знайшов збіг (3)? Чи можна це зробити за допомогою однокласника? Я спробував це: my ($number) = scalar($string=~/\./gi); Я думав, що, розмістивши дужки навколо $number, я змушую контекст масиву, а за допомогою …
78 arrays  regex  perl  perl4 

13
Автоматично отримувати індекс циклу в циклі foreach у Perl
Якщо я маю такий масив у Perl: @x = qw(a b c); і я перебираю це за допомогою foreach, потім $_посилатимуться на поточний елемент у масиві: foreach (@x) { print; } надрукує: abc Чи існує подібний спосіб отримати індекс поточного елемента без ручного оновлення лічильника? Щось на кшталт: foreach (@x) …
77 perl  foreach 

6
Спроба :: Tiny все ще рекомендується для обробки винятків у Perl 5.14 або пізнішої версії?
Здається, що консенсус спільноти Perl Try::Tinyє найкращим способом обробки винятків. Perl 5,14 (що є використанням версії I) , здається , щоб вирішити ті проблеми , з того, evalщо Try::Tinyадресою. Чи Try::Tinyнадаватимуть мені ще якісь переваги?




5
Обробка тексту - Python проти продуктивності Perl [закрито]
Це питання навряд чи допоможе будь-яким майбутнім відвідувачам; це стосується лише невеликої географічної області, конкретного моменту часу або надзвичайно вузької ситуації, яка, як правило, не застосовується до світової аудиторії Інтернету. Щоб отримати допомогу щодо розширення цього питання, відвідайте довідковий центр . Закрито 8 років тому . Ось мій сценарій Perl …

7
Перезапис функції, визначеної в модулі, але перед використанням у фазі її виконання?
Давайте візьмемо щось дуже просте, # Foo.pm package Foo { my $baz = bar(); sub bar { 42 }; ## Overwrite this print $baz; ## Before this is executed } Чи все-таки я можу test.plзапустити код запуску, який змінює те, що $bazвстановлено, і змушує Foo.pmдрукувати щось інше на екрані? # …
20 perl  compilation 

2
Чому деякі користувачі цитують назви класів у Perl?
Дивлячись Type::Tiny, я бачу, що ім'я класу у виклику до Type::Tiny->newцитується в офіційних документах, my $NUM = "Type::Tiny"->new( name => "Number", constraint => sub { looks_like_number($_) }, message => sub { "$_ ain't a number" }, ); Чому це? Це просто стиль? Чи є наслідки для цієї практики?

2
Як найкраще (ідіоматично) відмовити скрипт perl (запустити з -n / -p), коли вхідний файл не знайдено?
$ perl -pe 1 foo && echo ok Can't open foo: No such file or directory. ok Мені б дуже хотілося, щоб сценарій perl вийшов з ладу, коли файл не існує. Який "правильний" спосіб зробити -p або -n провалом, коли вхідного файлу не існує?
11 perl 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.