開発環境
- macOS Mojave - Apple (OS)
- Emacs (Text Editor)
- Windows 10 Pro (OS)
- Strawberry Perl (WindowsのPerlの言語処理系)
- Visual Studio Code (Text Editor)
- Perl 5.30 (プログラミング言語)
続・初めてのPerl 改訂第2版 (Randal L. Schwartz(著)、brian d foy(著)、Tom Phoenix(著)、伊藤 直也(監修)、長尾 高弘(翻訳)、オライリージャパン)の3章(中級者の基礎知識)、3.5(練習問題)2の解答を求めてみる。
コード
#!/usr/bin/env perl
use strict;
use warnings;
use v5.30;
say '2.';
my $dir = '/etc/';
chdir $dir or die "can't chdir $dir: $!";
while (1) {
print 'パターンを入力(空文字列で終了、スラッシュは禁止): ';
chomp(my $pattern = <STDIN>);
last if $pattern =~ /\A\s*\Z/;
print map {"$_\n"} grep { eval{/$pattern/}} <.* *>;
print $@ if $@;
}
入出力結果(Zsh、PowerShell、Terminal)
% ./sample2.pl
2.
パターンを入力(空文字列で終了、スラッシュは禁止): ^a
afpovertcp.cfg
afpovertcp.cfg~orig
aliases
aliases.db
apache2
asl
asl.conf
auto_home
auto_master
auto_master~orig
autofs.conf
パターンを入力(空文字列で終了、スラッシュは禁止): (
Unmatched ( in regex; marked by <-- HERE in m/( <-- HERE / at ./sample2.pl line 15, <STDIN> line 2.
パターンを入力(空文字列で終了、スラッシュは禁止): a$
パターンを入力(空文字列で終了、スラッシュは禁止): a{2}
パターンを入力(空文字列で終了、スラッシュは禁止): p{2}
bashrc_Apple_Terminal
com.apple.screensharing.agent.launchd
ppp
zshrc_Apple_Terminal
パターンを入力(空文字列で終了、スラッシュは禁止):
%
0 コメント:
コメントを投稿